Python subprocess.PIPE重定向到文件

时间:2017-02-01 11:21:35

标签: python subprocess

我有以下代码。我的脚本退出后, myprg 必须运行。但在退出之前,我想等待 myprg 发出 mystring ,然后将其余的stderr消息重定向到 mylogfile ,然后退出。这有可能吗?我尝试了以下内容,python脚本不会退出。我哪里错了?

import subprocess
proc = subprocess.Popen(myprg, stderr=subprocess.PIPE)

for line in iter(proc.stderr.readline,'')
if check_string in line:
    break

fh = open (mylogfile,'w')

proc.stderr = fh.fileno()

编辑:我暂时解决了这个问题,让 myprg check_string 。这不是最佳的,但暂时起作用。

1 个答案:

答案 0 :(得分:0)

你不应该调用proc.communicate()让脚本退出吗?