【发布时间】:2025-12-19 18:40:17
【问题描述】:
我一直(未成功)尝试使用 Python 的 subprocess 模块与可执行程序进行交互。该程序是一个非常简单的基于命令行的脚本。
它基本上只是以以下方式起作用:提示用户文本,等待数字输入,提示更多文本,等待下一个输入等。
所以我这样设置子流程
from subprocess import Popen, PIPE
p = Popen('filename.exe', stdin=PIPE, stdout=PIPE)
然后我得到第一个提示
print p.stdout.readline()
正确返回
输入一些值等等等等
太棒了!然后我尝试输入所需的值
p.stdin.write('10.0')
然后它完全挂起。我可以尝试抓住下一个提示
print p.stdout.readline()
但无论如何它仍然挂起。
进行这一行读/写业务的正确方法是什么?我想我一定搞砸了write 行。
【问题讨论】:
标签: python io subprocess