【发布时间】:2015-02-03 15:00:42
【问题描述】:
我正在使用从 python 执行程序的肮脏方式。该程序在完成之前需要用户输入。如何强制输入。问题当然是在第一个命令完全执行之前我不能发出任何进一步的命令,所以这不起作用:
os.system(command)
os.linesep('\r\n')
我重新使用 os.system(command) 的原因之一是我无法以正确的格式获取命令行参数。一个问题是command setting="xyz.txt" 的要求,双引号正确显示,我还没有找到一种聪明的方法来做到这一点。
有没有办法解决这个问题?我在 Windows 7 上执行此操作。我担心我需要检查输出并在看到程序结束时中断。有没有办法检测到程序正在接受键盘输入并使用这个事实?
【问题讨论】:
-
你能提供更多的背景信息吗?什么操作系统?你在执行什么命令?
-
它是一个自定义程序,需要在一个庞大的循环中运行数千次。它的 Windows 7。
-
检查
subprocess模块和communicate方法。 -
Popen(['echo', 'command setting="xyz.txt"'])没看到问题,好像和第一个问题无关。如果它是如此依赖于 Windows 并且它确实不起作用,请开始一个新问题并更加明确(并使用适当的标签)。
标签: python