我通过使用 cmd 创建 Popen 对象并使用它运行另一个程序没有问题,其中输出是我发送的参数...
k = subprocess.Popen(output, stdout=PIPE, stdin=PIPE, stderr=PIPE)
但后来我想使用相同的 Popen 对象通过相同的命令提示符运行另一个命令。我使用了communicate(),它也没有工作,标准输出也是如此。我现在将 stdin.write() 与 stdout.readline() 结合使用。
f = open("sample.txt")
reed = f.read()
f.close()
k.stdin.write(reed)
p="i"
while p.find("0.0)") == -1:
p = p+k.stdout.readline()
print p
我应该怎么办?
编辑
p = k.communicate(input=reed)[0]
那是我唯一需要的。我不知道我必须在交流中使用“输入”,我一直只是使用交流(芦苇)。我什至不需要那个愚蠢的老while循环。