Найти - Пользователи
Полная версия: вывод в другую программу
Начало » Python для новичков » вывод в другую программу
1
P_N
Доброе время.
файл номер 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, но это я думаю я осилю.
Заранее спасибо.
py.user.next
Вообще, начни с консоли: первый скрипт должен делать print(); второй скрипт должен делать sys.stdin.read(); в консоли операционной системы делаешь
python3 script1.py | python3 script2.py
Как разберёшься, тогда и можно будет переходить к передаче данных между процессами. Часто она вообще не нужна, так как всё делается внешним конвейером и по правилам хорошего тона связывать программы между собой не нужно. Программы не должны знать про существование друг друга.
DamMercul
Для связи между двумя процессами существуют сокеты (именно для этого и создавались), почитаю документацию к ним или туториалы, как это делают многие. Пример - первый скрипт(слушает):
 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())



##############
Поднял +1 деление по полоске опыта, ауе
##############
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB