【发布时间】:2017-06-18 09:32:51
【问题描述】:
我想编写一个 python 脚本,它打开一个 *.exe 文件(它是一个 CMD 控制台应用程序)
通过多次发送输入和读取输出(例如通过stdin、stdout)与其通信。
我用communicate() 尝试过,但是在我发送第一个输入(communicate(input='\n'))后它关闭了管道,
所以它只对我有用一次。
然后我通过p.stdin.readline()再次尝试,但我只能逐行阅读。当我阅读换行符时,该过程
终止(这不是我需要的)。
我只想启动一个程序,读取输出并向其发送输入,然后等到下一个输出并发送 一个新的输入,等等....
有什么好的方法吗?有人有解决的例子或类似的问题吗?
【问题讨论】:
-
请提供一些重现问题的代码示例,没有它们很难帮助您。
-
在您的 Popen 选项中使用
stdin=subprocess.PIPE。
标签: python cmd subprocess stdout stdin