【发布时间】:2016-03-04 16:15:51
【问题描述】:
我在将子进程的标准输出转发到当前进程的标准输出时遇到问题。
这是我的 MWE 调用者代码 (runner.py):
import sys
import subprocess
import time
p = subprocess.Popen([sys.executable, "test.py"], stdout=sys.stdout)
time.sleep(10)
p.terminate()
这里是被调用者test.py的内容:
import time
while True:
time.sleep(1)
print "Heartbeat"
以下将工作并将所有心跳打印到控制台:
python runner.py
但是,以下不起作用,输出文本文件仍然为空(使用 Python 2.7):
python runner.py > test.txt
我该怎么办?
【问题讨论】:
-
shell=True可能会修复它。 -
@zondo 不,我不想包含 shell 命令
标签: python subprocess