파이썬 용 IDE를 작성 중이며 사용자 스크립트와 상호 작용하기 위해 서브 프로세스를 사용해야합니다.subprocess를 사용하여 파이썬 스크립트와 상호 작용하는 방법
나는 서브 프로세스를 사용하는 것에 완전히 익숙하지 않으며 내가 여기서 뭘하고 있는지 확실하지 않다.
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 번 줄에 이미 인쇄 된 내용과 문자열을 입력하는 방법은 무엇입니까?
import sys
print("Hello World")
print("Enter a Number: ")
stdout.flush()
inp = input()
print(inp)
당신은 반환 \n
하여 입력을 종료해야합니다 : 스크립트가 터미널에 연결되지 않은 경우, 출력이 자동으로 플러시되지 않기 때문에
'stdout'은'sys' 모듈에 있고'p.stdin'도'write()'다음에 플러시되어야합니다. 내 대답의 다른 모든 부분은 당신과 같습니다 :) – Cychih