Как соединить две программы в питоне

Создаю приложение и решил его делать частями, то есть одна часть приложения в одном коде, другая часть приложения в другом. Первый файл является главным, второй файл — файлом, который нужно вставить в первый.
Проблема в том, что второй файл делался с помощью Qt Designer и имеет отсылки к .ui файлам, не знаю как это правильно соединить. Вот главный код, в который надо вставить другой код (в 2 страницу):

import sys from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.Qt import * from PyQt5.QtCore import Qt class MainWindow(QtWidgets.QMainWindow): def __init__(self): super().__init__() #размер основного окн self.resize(845, 535) self.setMinimumSize(QtCore.QSize(845, 535)) self.setMaximumSize(QtCore.QSize(845, 535)) self.setStyleSheet(«background-color: rgb(45, 45, 45);») #центральный виджет self.centralwidget = QtWidgets.QWidget() self.centralwidget.setObjectName(«centralwidget») self.setCentralWidget(self.centralwidget) self.Content = QtWidgets.QFrame(self.centralwidget) self.Content.setStyleSheet(«background-color: rgb(255, 255, 255);») self.Content.setFrameShape(QtWidgets.QFrame.NoFrame) self.Content.setFrameShadow(QtWidgets.QFrame.Raised) self.Content.setObjectName(«Content») self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.Content) self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_2.setSpacing(0) #виджет слева self.frame_left_menu = QtWidgets.QFrame(self.Content) self.frame_left_menu.setMinimumSize(QtCore.QSize(45, 0)) self.frame_left_menu.setStyleSheet(«background-color: rgb(255, 255, 255); border: 0px solid; «) self.frame_left_menu.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_left_menu.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_left_menu.setObjectName(«frame_left_menu») self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.frame_left_menu) self.verticalLayout_3.setContentsMargins(0, 0, 0, 0) #не совсем понял зачем self.frame_top_menus = QtWidgets.QFrame(self.frame_left_menu) self.frame_top_menus.setFrameShape(QtWidgets.QFrame.NoFrame) self.frame_top_menus.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_top_menus.setObjectName(«frame_top_menus») #указываем вертикальное выравнивание self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.frame_top_menus) self.verticalLayout_4.setContentsMargins(0, 0, 0, 0) self.verticalLayout_4.setSpacing(10) self.verticalLayout_1 = QtWidgets.QVBoxLayout(self.frame_top_menus) self.verticalLayout_1.setContentsMargins(0,0,0,0) self.verticalLayout_1.setSpacing(5) #домик self.btn_page_1 = QtWidgets.QPushButton(«», self.frame_top_menus) self.btn_page_1.setIcon(QIcon(‘дом.png’)) self.btn_page_1.setIconSize(QSize(45,45)) self.btn_page_1.setMinimumSize(QtCore.QSize(0, 40)) self.btn_page_1.setStyleSheet(«QPushButton «) self.btn_page_1.setObjectName(«btn_page_1») self.verticalLayout_4.addWidget(self.btn_page_1) #Заметки self.btn_page_2 = QtWidgets.QPushButton(«», self.frame_top_menus) self.btn_page_2.setIcon(QIcon(‘заметка1.png’)) self.btn_page_2.setIconSize(QSize(45,45)) self.btn_page_2.setMinimumSize(QtCore.QSize(0, 40)) self.btn_page_2.setStyleSheet(«QPushButton «) self.btn_page_2.setObjectName(«btn_page_2») self.verticalLayout_4.addWidget(self.btn_page_2) #погода self.btn_page_3 = QtWidgets.QPushButton(«», self.frame_top_menus) self.btn_page_3.setIcon(QIcon(‘солнышко.png’)) self.btn_page_3.setIconSize(QSize(45,45)) self.btn_page_3.setMinimumSize(QtCore.QSize(0, 40)) self.btn_page_3.setStyleSheet(«QPushButton «) self.btn_page_4 = QtWidgets.QPushButton(», self.frame_top_menus) self.btn_page_4.setIcon(QIcon(‘папочка.png’)) self.btn_page_4.setIconSize(QSize(45, 45)) self.btn_page_4.setMinimumSize(QtCore.QSize(0, 40)) self.btn_page_4.setStyleSheet(«QPushButton /* Кнопка последнего месяца и кнопка следующего месяца */ #qt_calendar_prevmonth, #qt_calendar_nextmonth < border: none; /* убрать границу */ margin-top: 0px; color: white; min-width: 30px; max-width: 30px; min-height: 30px; max-height: 30px; border-radius: 10px; /* выглядит как эллипс */ font-weight: bold; /* шрифт полужирный */ qproperty-icon: none; background-color: transparent; /* Цвет фона прозрачный */ >#qt_calendar_prevmonth < qproperty-text: «#qt_calendar_nextmonth < qproperty-text: «>»; > #qt_calendar_prevmonth:hover, #qt_calendar_nextmonth:hover < background-color: rgba(225, 225, 225, 100); >#qt_calendar_prevmonth:pressed, #qt_calendar_nextmonth:pressed < background-color: rgba(235, 235, 235, 100); >/* год, месяц */ #qt_calendar_yearbutton, #qt_calendar_monthbutton < color: white; margin: -1px; min-width: -1px; border-radius: 15px; background-color: rgba(0, 188, 212, 100) >#qt_calendar_yearbutton:hover, #qt_calendar_monthbutton:hover < background-color: rgba(225, 225, 225, 100); >#qt_calendar_yearbutton:pressed, #qt_calendar_monthbutton:pressed < background-color: rgba(235, 235, 235, 100); >/* Поле ввода года */ #qt_calendar_yearedit < min-width: 85px; color: white; background: transparent; /* Сделать фон окна ввода прозрачным */ >#qt_calendar_yearedit::up-button < /* Кнопка вверх */ width: 25px; subcontrol-position: right; >#qt_calendar_yearedit::down-button < /* Кнопка вниз */ width: 25px; subcontrol-position: left; >/* меню выбора месяца */ CalendarWidget_QToolButton_QMenu < background-color: white; >CalendarWidget_QToolButton_QMenu_item < padding: 10px; >CalendarWidget_QToolButton_QMenu_item_selected_enabled < background-color: rgb(230, 230, 230); selection-color: rgb(45, 86, 100); selection-background-color: rgb(205, 217, 226); >CalendarWidget_QToolButton_menu-indicator < subcontrol-position: right center; >/* ниже календарной формы */ #qt_calendar_calendarview < outline: 0px; /* Удалить выделенную пунктирную рамку */ selection-background-color: rgb(0, 188, 212); >»’ if __name__ == ‘__main__’: import sys app = QtWidgets.QApplication(sys.argv) app.setFont(QtGui.QFont(«Century Gothic», 12,)) w = MainWindow() w.show() sys.exit(app.exec_())

Вот код, который надо вставить:

МНОГОПОТОЧНОСТЬ НА PYTHON | МОДУЛЬ THREADING

Метод split и метод join Python


import sys from PyQt5.QtWidgets import QApplication, QWidget from PyQt5 import uic, QtCore, QtTest from PyQt5.QtGui import QPixmap from PyQt5.QtCore import QThread import weather import time import datetime from weather import DAYS #два класса с числами Фобаначе , для правного визуала H_show = [ 155,156,157,158, 160,168,181,202, 236,291,380,400, 440,500,535, ] H_hide = [ 155,156,157,158, 160,168,181,202, 236,291,380,400, 440,500,535, ] class WeatherData(QThread): req = weather.today() temp = req[‘temp’] feels = req[‘feels’] pres = req[‘pressure’] speed = str(req[‘wind’][‘speed’]) city = req[‘city’] type = req[‘dis’] week = weather.week() def __init__(self): QThread.__init__(self) def run(self): while True: try: req = weather.today() except: req[‘temp’] = self.temp req[‘feels’] = self.feels req[‘pressure’] = self.pres req[‘wind’][‘speed’] = self.pres req[‘city’] = self.city req[‘dis’] = self.type try: req_week = weather.week() self.week = req_week except: self.week = DAYS self.temp = req[‘temp’] self.feels = req[‘feels’] self.pres = req[‘pressure’] self.speed = str(req[‘wind’][‘speed’]) self.city = req[‘city’] self.type = req[‘dis’] time.sleep(600) class App(QWidget): # # # # # # # show_more = True def __init__(self, app): QWidget.__init__(self) self.weather = WeatherData() self.weather.start() self.app = app self.set() self.setData() self.setMore() def set(self): self.w_root = uic.loadUi(‘root.ui’) self.w_root.installEventFilter(self) self.w_root.btn_more.clicked.connect(self.setHeight) self.w_root.show() # # # # # # # # перемещение кнопки с ресайзом def eventFilter(self, object, event): self.w_root.resize(444, self.w_root.height()) self.w_root.btn_more.move(0, self.w_root.height()-26) self.w_root.l_day.move(8, self.w_root.height()-18) self.app.processEvents() return False # # # # # # # # #устанавливаем значение на сегодня def setData(self): # данные погоды self.w_root.l_temp.setText(str(self.weather.temp) + ‘°C’) self.w_root.l_fell.setText(self.weather.feels) self.w_root.l_pres.setText(self.weather.pres) self.w_root.l_wind.setText(self.weather.speed + ‘м/с’) self.w_root.l_city.setText(self.weather.city) self.w_root.l_type.setText(self.weather.type) #иконка погоды px_logo = QPixmap(f’C:/python/pogoda/.png’) self.w_root.l_logo.setPixmap(px_logo) #день недели today = DAYS[datetime.datetime.today().weekday()] self.w_root.l_day.setText(today[‘title’]) color = today[‘color’] self.w_root.l_day.setStyleSheet(f’color:’) # # # # # def setHeight(self): if self.w_root.height() >= 200: self.show_more = False if self.show_more: for i in H_hide: if self.w_root.height() > i: continue self.w_root.resize(444, i) self.w_root.btn_more.move(0, i-26) self.w_root.l_day.move(8,i-18) self.app.processEvents() time.sleep(.02) self.show_more = False else: for i in reversed(H_show): self.w_root.resize(444, i) self.w_root.btn_more.move(0, i-26) self.w_root.l_day.move(8,i-18) self.app.processEvents() time.sleep(.02) self.show_more = True App.show_more = self.show_more # # # # # # # def setMore(self): for i in self.weather.week: w_day = uic.loadUi(‘day.ui’) w_day.setObjectName(‘w_day_’ + str(i[‘num’])) w_day.l_title.setText(i[‘title’]) w_day.l_temp.setText(str(round(i[‘temp’])) + ‘°C’) w_day.l_type.setText(i[‘type’]) w_day.l_title.setStyleSheet(‘color: ‘ + i[‘color’] + ‘; background-color: none; border: none’) if i[‘active’]: w_day.setStyleSheet(‘border: 1px solid’ + i[‘color’]) else: w_day.setStyleSheet(‘border: none’) self.w_root.box.addWidget(w_day) self.w_root.box.addStretch() if __name__ == ‘__main__’: app = QApplication(sys.argv) ex = App(app) app.exec_()

Читайте также:
В какой программе сделать красивые инструкции

Вот ссылка на диск с .ui файлами Яндекс Диск

Источник: ru.stackoverflow.com

Как склеить (сшить) два кода Python вместе?

Мне интересно, как лучше всего собрать коды из разных файлов Python в новый файл Python. Допустим, первый файл 1.py будет состоять из:

def(. ): a=1 b=2 return c=a+b

И еще один файл 2.py состоит из:

def(. ): d = 4 e = c*d return e

Теперь предположим, что у вас есть конечный файл final.py , в который вы хотите, чтобы все коды из 1.py и 2.py копировались в него слово в слово в определенном порядке операций, где он выглядит, как показано ниже , Обратите внимание, что я понимаю, что мы можем использовать функцию импорта в Python, но в этом случае я бы хотел, чтобы весь текст некоторых определений был скопирован в новый код Python. Другими словами, склейте коды из разных файлов, чтобы создать новый файл.

def(. ): a=1 b=2 return c=a+b def(. ): d = 4 e = c*d return e

Перефразируйте выше: что, если файл 1 имеет 100 определений, а файл 2 имеет 100 определений, но я хочу, чтобы из каждого файла были скопированы конкретные файлы в файл 3 с полным текстом и синтаксисом в указанном порядке.

Kevin_ALA 27 Июн 2019 в 01:05

4 ответа

Лучший ответ

Вы можете сделать это в самом Python!

Предполагая, что у вас есть список необходимых определений:

import re files = [«1.py», «2.py»] # . defs = [«func_1», «func_2»] with open(«final.py», ‘w’) as out_f: for path in files: with open(path) as in_f: lines = in_f.readlines() i = 0 while i < len(lines): line = lines[i] r = re.search(«^defs+(w+)(«, line) if r: if r.group(1) in defs: out_f.write(line) while i < len(lines) and not re.search(«^w», lines[i+1]): # relying on python’s indent syntax out_f.write(lines[i+1]) i += 1 i += 1
Tomerikoo 26 Июн 2019 в 23:06

Если вы используете оболочку Unix:

cat 1.py 2.py > 3.py

Joseph Sheedy 26 Июн 2019 в 22:07

Это немного вышло из-под контроля, но я попытался реализовать его с правильной структурой, и вот что я придумал:

#!/usr/bin/env python3 import re def extract_functions(code_lines, names): # Checks if given line contains code def is_code_line(line): stripped = line.strip() if stripped.startswith(‘#’): return False if len(stripped) == 0: return False return True # Retreives the indentation pattern of given line def get_indentation(line): num_indent_chars = len(line) — len(line.lstrip()) return line[:num_indent_chars] # Returns the function name if line has a function definition, else None function_name_extractor = re.compile(r’^defs+(w+)s*(‘) def get_function_name(line): match = function_name_extractor.match(line) if match is None: return None return match.group(1) extracted = list() in_function = False for num, line in enumerate(code_lines): # Non-code lines don’t end or start functions, # even if their indentation is wrong if not is_code_line(line): continue if in_function: # If this is the first line of the function, store the indentation if function_indent == None: function_indent = get_indentation(line) # If we match the indentation, we are still in the same function. # Store that the function includes the current line if line.startswith(function_indent): function_end = num + 1 # If we detect the end of the current function, extract the # function lines and store them in ‘extracted’. else: extracted.extend(code_lines[function_start:function_end]) in_function = False # If we are currently not inside a function, check if current line # contains a function start. # Needs a separate ‘if’ and not just an ‘else’ because this code # needs to run if the previous ‘if’ detected the end of a function. if not in_function: line_function_name = get_function_name(line) if line_function_name is not None and line_function_name in names: in_function = True function_start = num function_end = num + 1 function_indent = None # One more extraction if the function reaches all the way to the last line if in_function: extracted.extend(code_lines[function_start:function_end]) return extracted with open(‘1_and_2.py’, ‘w’) as out_fil: with open(‘1.py’, ‘r’) as fil: for line in extract_functions(fil.readlines(), [‘func_a1’, ‘func_b1’]): out_fil.write(line) # It isn’t guaranteed that our last line in the file ends with a newline, # Therefore add one manually out_fil.write(‘n’) with open(‘2.py’, ‘r’) as fil: for line in extract_functions(fil.readlines(), [‘func_a2’, ‘func_b2’]): out_fil.write(line) out_fil.write(‘n’)
Finomnis 27 Июн 2019 в 09:52

Читайте также:
Название игровая программа ко дню защиты детей

Это проблема в инструментах вашей ОС, а не в Python. Вы просто объединяете два текстовых файла. Вы можете посмотреть, как это сделать в вашей ОС. Если у вас есть любимый текстовый редактор, откройте новый файл. Читать в 1.py ; в нижней части этого читайте в 2.py ; сохранить результат как 3.py .

Источник: question-it.com

Решено Объединить два скрипта на python

Добрый день! есть два, созданных мной скрипта, которые работают по отдельности. Необходимо один в другой вставить, но никак не могу разобраться сколько циклов, условий ставить. Мой синтаксис на phyton еще серьезно страдает.

import paramiko, time, urllib.request, socket host = ’10.xx.xx.102′ user = ‘root’ psw = ‘root’ port = 22 ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) try: if(ssh): ssh.connect(hostname=host, port=port, username=user, password=psw, timeout=10) while True: stdin, stdout, stderr = ssh.exec_command(‘service nginx start’,timeout=10) while not stdout.channel.exit_status_ready(): if stdout.channel.recv_ready(): time.sleep(3) #stdoutLines = stdout.readlines() print(«SSH — ждем 3 сек») #ssh.close() try: urllib.request.urlopen(‘host’) return True except ValueError: print (‘Адреса не существует’) else: print(‘Не запущен nginx’) else: ssh.close() print(«SSH — не могу подключиться») except Exception as e: print(e) ssh.close()
import paramiko host = ’10.xx.xx.102′ user = ‘root’ psw = ‘root’ port = 22 ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) try: if(ssh): ssh.connect(hostname=host, port=port, username=user, password=psw, timeout=5) try: sftp = ssh.open_sftp() for i in sftp.listdir(‘/etc/nginx/conf.d/’): if «default.conf» in i: sftp.posix_rename(‘/etc/nginx/conf.d/default.conf’, ‘/etc/nginx/conf.d/default.conf_1′) sftp.put(r’C:UsersivanovDocumentsdefault.conf’, ‘/etc/nginx/conf.d/default.conf’) print(«SSH — успешно, default.conf переименован и заменен») ssh.close() else: sftp.put(r’C:UsersivanovDocumentsdefault.conf’, ‘/etc/nginx/conf.d/default.conf’) print(«SSH — успешно, default.conf не было, залит») ssh.close() except Exception as e: print(e) ssh.close() else: ssh.close() print(«SSH — не могу подключиться») except Exception as e: print(e) ssh.close()

Смысл скриптов:
Когда запускаем 1й скрипт, он подключается по ssh, пробует запустить nginx, проверяет url, если норм то закрывается сессия, если нет пытается еще раз. Второй скрипт подключается по ssh, заменяет в каталоге /etc/nginx/conf.d/ файл default.conf.
Необходимо их объединить, чтобы в первом скрипте, после того как сервер nginx не заупстился, запускать sftp и заменять default.confзатем опять пытаться запустить сервер.

Последнее редактирование: 20.02.2019

nergilzaner

разбей скрипт на функции, одна функция — одна задача, например def exchange_default_conf(), def run_server(), одна задача — одна функция, и тело def main(): с логикой внутри, старайся писать «чистые» функции

Sv9tka

хм, и тогда можно уже функции в while и if else вставлять, так? щас попробую

nergilzaner

хм, и тогда можно уже функции в while и if else вставлять, так? щас попробую

да, все повторяющиеся елементы кода — в отдельные функции, логика отдельно. except внутри except — так быть не должно, могут возникнуть неотслеживаемые ошибки, Exception слишком широкий спектр — лучше конкретизировать

Sv9tka

Получилось вот так:

def join(): ssh.connect(hostname=host, port=port, username=user, password=psw, timeout=10) def command(): stdin, stdout, stderr = ssh.exec_command(‘service nginx start’,timeout=10) def back_otvet(): while not stdout.channel.exit_status_ready(): if stdout.channel.recv_ready(): time.sleep(3) #stdoutLines = stdout.readlines() print(«SSH — ждем 3 сек») def url_nginx(): try: urllib.request.urlopen(‘host’) return True except ValueError: print (‘Адреса не существует’) def sftp_nginx(): for i in sftp.listdir(‘/etc/nginx/conf.d/’): if «default.conf» in i: sftp.posix_rename(‘/etc/nginx/conf.d/default.conf’, ‘/etc/nginx/conf.d/default.conf_1′) sftp.put(r’C:UsersivanovDocumentsdefault.conf’, ‘/etc/nginx/conf.d/default.conf’) print(«SSH — успешно, default.conf переименован и заменен») else: sftp.put(r’C:UsersivanovDocumentsdefault.conf’, ‘/etc/nginx/conf.d/default.conf’) print(«SSH — успешно, default.conf не было, залит»)
Последнее редактирование: 20.02.2019

Читайте также:
Как отменить программу на стиральной машинке LG

nergilzaner

ну уже ближе, сам скрипт рабочий? ты проверил(а)?
Последнее редактирование: 20.02.2019

Sv9tka

позже попробую, я в Thonny делаю, там пока все норм, ошибок не показывает. Вечером продолжу, спасибо, что помогаете)) Мой первый скрипт на pythone, который можно применить.

Родил скрипт, но все равно как то он на синтаксис ругается, прошу помочь:

import paramiko, time, urllib.request, socket host = ’10.xx.xx.102′ host_url = ‘http://%s/’ % (host) user = ‘root’ psw = ‘root’ port = 22 def join(): ssh.connect(hostname=host, port=port, username=user, password=psw, timeout=10) def command(): stdin, stdout, stderr = ssh.exec_command(‘service nginx start’,timeout=10) def back_otvet(): while not stdout.channel.exit_status_ready(): if stdout.channel.recv_ready(): print(«SSH — ждем 3 сек») time.sleep(3) def url_nginx(): try: urllib.request.urlopen(‘host_url’) except ValueError: print (‘Адреса не существует’) def sftp_nginx(): for i in sftp.listdir(‘/etc/nginx/conf.d/’): if «default.conf» in i: sftp.posix_rename(‘/etc/nginx/conf.d/default.conf’, ‘/etc/nginx/conf.d/default.conf_1′) sftp.put(r’C:UsersivanovDocumentsdefault.conf’, ‘/etc/nginx/conf.d/default.conf’) print(«SSH — успешно, default.conf переименован и заменен») else: sftp.put(r’C:UsersivanovDocumentsdefault.conf’, ‘/etc/nginx/conf.d/default.conf’) print(«SSH — успешно, default.conf не было, залит») def main(): ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) try: join() while command() back_otvet() url_nginx() else sftp_nginx() except Exception as e: print(e) ssh.close() #Вызов всей функции main()

nergilzaner

ну он же на while в main() должен ругаться — отступ
повнимательнее) читай трэйсбэк, не торопись

удобно, кстати, использовать конструкцию для запуска скрипта:
if __name__ == ‘__main__’:
main()

Sv9tka

Хорошо! сажусь за углубленный мануал, эх. Спасибо за конструкцию!

Не могу понять, пишет

[Errno 2] No such file

но файл есть, все файлы есть. В общем затык у меня.

import paramiko, time, urllib.request, socket host = ’10.хх.хх.102′ host_url = ‘http://%s/’ % (host) user = ‘root’ psw = ‘root’ port = 22 ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) def join(): ssh.connect(hostname=host, port=port, username=user, password=psw, timeout=10) def command(): stdin, stdout, stderr = ssh.exec_command(‘service nginx start’,timeout=10) def back_otvet(): while not stdout.channel.exit_status_ready(): if stdout.channel.recv_ready(): print(«SSH — ждем 3 сек») time.sleep(3) def url_nginx(): try: urllib.request.urlopen(‘host_url’) except ValueError: print (‘Адреса не существует’) def sftp_conf(): sftp = ssh.open_sftp() for i in sftp.listdir(‘/etc/nginx/conf.d/’): if «default.conf» in i: sftp.posix_rename(‘/etc/nginx/conf.d/default.conf’, ‘/etc/nginx/conf.d/default.conf_1′) sftp.put(r’C:UsersivanovDocumentsdefault.conf’, ‘/etc/nginx/conf.d/default.conf’) print(«SSH — успешно, default.conf переименован и заменен») else: sftp.put(r’C:UsersivanovDocumentsdefault.conf’, ‘/etc/nginx/conf.d/default.conf’) print(«SSH — успешно, default.conf не было, залит») ssh.close() def sftp_index(): sftp = ssh.open_sftp() sftp.put(r’C:UsersivanovDocumentsindex.html’, ‘/usr/share/ngnix/html/index.html’) print(«SSH — успешно залит index.html») ssh.close() def main(): try: join() #пробуем подключиться по ssh while False: command() #запускаем nginx back_otvet() #ждем ответ после запуска команды if(): url_nginx() #проверяем открывается ли урл else: sftp_conf() #если не открывается заливаем файл конфига else: sftp_index() #заливаем файл Index.html На сайт ssh.close() print(‘Можно работать’) except Exception as e: print(e) ssh.close() #Вызов всей функции if __name__ == ‘__main__’: main()

Плюс еще host_url выдает в процессе, что такого адреса не существует, причем именно не ip говорит что не существует, а именно host_url. Как будто не происходит подмена ip, хотя print выводит правильный ip.
Заранее благодарю!

nergilzaner

твой скрипт сейчас нет времени у себя поднять, сори, (кстати ты на виртуалках или на боевом сервере?)
первые два скрипта были рабочие?
проверяй пошагово, каждую функцию отдельно,
попробуй либу — requests она вроде удобней.

Sv9tka

nergilzaner, спасибо за помощь! получилось все, даже попробовал выложить скрипт на GitHub Sv9t/nginx_start_py, мой первый проект))

nergilzaner

поздравляю, для проектов удобно использовать модуль argparse (
Ссылка скрыта от гостей
), он работает с аргументами командной строки, крутая вещь чекни, удачи)

apnem19

New member

21.08.2020 1 0
вот у меня есть 3 файла питон мне нужно объяденить в один как это сделать?
Мы в соцсетях:

Похожие темы

Ответы 0 Просмотры 2 тыс.

  • Mark Klintov
  • 15.04.2023
  • Powershell / Python

Ответы 3 Просмотры 1 тыс.
Ответы 4 Просмотры 2 тыс.
Ответы 4 Просмотры 3 тыс.
Поделиться:

На данном сайте используются cookie-файлы, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших cookie-файлов.

Источник: codeby.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru