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 параллельно и увидеть, как параметры передаются из одной программы в другую.