socket - передача параметров между программами
Если у вас уже запущены две программы Python, и вы хотите передать параметры из одной программы в другую, то можно использовать сокеты для обмена данными между ними.
В первой программе (python1.py) вы можете создать серверный сокет, который будет прослушивать на определенном порту и ждать подключений от клиента (python2.py). После подключения клиента, вы можете отправить параметры через сокет.
Во второй программе (python2.py) вы можете создать клиентский сокет, подключиться к серверу (python1.py) и получить переданные параметры через сокет.
Пример кода для передачи параметров из python1.py в python2.py:
pythonCopy Codeimport socket HOST = 'localhost' # Хост сервера PORT = 12345 # Порт сервера params = ['param1', 'param2', 'param3'] # Параметры для передачи data = ' '.join(params).encode() # Преобразование параметров в байты with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.bind((HOST, PORT)) s.listen(1) print('Ожидание подключения клиента...') conn, addr = s.accept() print(f'Подключение клиента установлено: {addr}') conn.sendall(data) # Отправка параметров conn.close()
pythonCopy Codeimport socket HOST = 'localhost' # Хост сервера PORT = 12345 # Порт сервера with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect((HOST, PORT)) print('Подключение к серверу установлено') data = s.recv(1024) # Получение параметров от сервера params = data.decode().split() print(params) # Вывод полученных параметров
В данном примере python1.py является сервером, который отправляет параметры по запросу клиента (python2.py), а python2.py является клиентом, который подключается к серверу и получает переданные параметры. Обратите внимание, что в данном примере параметры передаются в виде списка и преобразуются в строку с использованием пробелов в python1.py, а затем восстанавливаются обратно в список в python2.py.
Вы можете запустить программы python1.py и python2.py параллельно и увидеть, как параметры передаются из одной программы в другую.