Python(Windows)中父子进程之间的连续通信?

问题描述 投票:2回答:1

我有这个脚本:

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;

python-3.x subprocess stdin communication popen
1个回答
0
投票

创建了一个简单的脚本,因此Python2可以成为以下脚本(Python3)与之通信的目标进程。

© www.soinside.com 2019 - 2024. All rights reserved.