我有这个脚本:
import subprocess
p = subprocess.Popen(["myProgram.exe"],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE)
while True:
out, _ = p.communicate(input().encode())
print(out.decode())
直到第二个输入都可以正常工作:
ValueError: Cannot send input after starting communication
在Windows中是否可以在父进程和子进程之间发送多条消息?
[EDIT]我无权访问myProgram.exe
的源代码这是一个交互式的命令行应用程序,返回查询结果通过>> myProgram.exe < in.txt > out.txt
运行in.txt
可以正常工作:
query1;
query2;
query3;
创建了一个简单的脚本,因此Python2可以成为以下脚本(Python3)与之通信的目标进程。