我正在尝试使用 subprocess.call 从 python 调用一个进程,如下所示:
from subprocess import call
exePath = 'C:\\Test\\EXE.exe'
inPath = 'C:\\Test\\IN.in'
outPath = 'C:\\Test\\OUT.out'
call([exePath, inPath, outPath])
这会从 EXE.exe 打印几行,然后是“句柄无效”——但作为字符串,而不是错误,这让我认为这可能是来自 EXE.exe 的消息:
Unzipping Solution...
0.0% The handle is invalid.
但是,当我打开 cmd.exe 并粘贴时:
C:\Test\EXE.exe C:\Test\IN.in C:\Test\OUT.out
它工作正常。
有人可以指出我正确的方向吗?
谢谢!
我在 Windows 7 上运行 Python 2.7 64 位。
编辑:
它现在看起来像 PyDev 中的一个问题,其中控制台无法处理来自进程覆盖行的标准输出。代码在 IDLE 中运行良好。仍在寻找 PyDev 的修复程序...