Я пишу IDE для python на python и должен использовать подпроцесс для взаимодействия с пользовательским скриптом.Как использовать подпроцесс для взаимодействия с скриптом python
Я совершенно новичок в использовании подпроцесса и не уверен, что я здесь делаю. Я создал тестовый фрагмент, представляющий то, что я пытаюсь сделать:
from subprocess import Popen,PIPE,STDOUT
import tkinter as tk
t=tk.Text()
t.pack()
p = Popen(["python","c:/runme.py"],stdout=PIPE,stdin=PIPE,stderr=PIPE,shell=True)
p.stdin.write("5".encode())
out=p.stdout.read()
t.insert(1.0,out)
А вот тестовый скрипт я пытаюсь взаимодействовать с:
print("Hello World")
inp=input("Enter a Number: ")
print(inp)
quit()
К сожалению, он просто ждет (предположительно) в строке 2. Как я могу прочитать то, что уже было напечатано, и как мне затем ввести строку?
'stdout' находится в' sys' модуле, а 'p.stdin' также следует очищать после' write() '. Все остальные части моего ответа такие же, как у вас :) – Cychih