Форум сайта python.su
0
Доброе время.
файл номер 1 (/usr/hand/1.py)
#!/usr/bin/env python
print(“1”)
Файл номер 2
#!/usr/bin/env python
import subprocess, os, commands
proc = subprocess.Popen('/usr/hand/1.py', shell=True, stdout=subprocess.PIPE).stdout.read()
print(proc)
Я уже и так и эдак и через commands
Первый файл для начала просто печатает “1” и эту “1” надо получить на печать второго файла. Промежуточный файл для записи вывода первого файла использовать не хочу.
Первый файл не обязательно должен печатать, лучше через return, но это я думаю я осилю.
Заранее спасибо.
Офлайн
857
Вообще, начни с консоли: первый скрипт должен делать print(); второй скрипт должен делать sys.stdin.read(); в консоли операционной системы делаешь
python3 script1.py | python3 script2.py
Отредактировано py.user.next (Июнь 28, 2018 02:58:27)
Офлайн
13
Для связи между двумя процессами существуют сокеты (именно для этого и создавались), почитаю документацию к ним или туториалы, как это делают многие. Пример - первый скрипт(слушает):
from socket import socket sk = socket() sk.bind(("127.0.0.1", 9999)) sk.listen(1) # Макс. 1 подключение usr, _ = sk.accept() usr.send("Hello, world!".encode()) usr.close() # Не забывай закрывать подключение и сам сокет, а то останется порт открытым и используемым sk.close() exit(0)
from socket import socket sk = socket() sk.connect(("127.0.0.1", 9999)) info = sk.recv(13) print("Received info!: " + info.decode())
# Life loop while alive: if (fun > boredom) and money: pass_day(fun, boredom, money) continue else: break
Отредактировано DamMercul (Июль 3, 2018 11:47:19)
Офлайн