0
我想从Python运行一个C程序与子进程模块,捕获其变量输出。代码看起来是这样的:Python:subprocess.communicate():ValueError与打印()函数,但不是“打印”内置
process = Popen(["myprog", str(length), filename], stdout=PIPE, stderr=PIPE)
#wait for the process
result = process.communicate()
end=time()
print result
上面的代码工作 - result
被示为myprog
的标准输出输出和stderr输出(字符串)的2元组。
... 然而如果我改变print result
到print(result)
...
Traceback (most recent call last):
File "tests.py", line 26, in <module>
print(result)
ValueError: I/O operation on closed file
我在这里完全难倒,我甚至不知道从哪里开始试图解释这个!当然,我的程序无论如何都适用,但我真的很想知道为什么会发生这种情况,并希望这会是一个有趣的问题。
请你向我们展示了整个Python和整个C程序? – User