使用子进程管道和stderr作为一个命令

时间:2015-02-11 10:45:18

标签: python

基本上,我正在尝试运行命令(在linux中)

chrome http://www.google.com | cleanup.py 

并尝试将stderr记录到文件中。

with open("/tmp/chrome-logs.txt", 'a') as tempf:
        run_pipe = subprocess.Popen( ["-c", "cleanup.py"] , stdin=subprocess.PIPE, stderr=tempf, shell=True)
        run_pipe.communicate("chrome","http://www.google.com")

如何让它发挥作用?

然而,我可以使用subprocess.call来执行,但这是最好的方法吗?

1 个答案:

答案 0 :(得分:0)

尝试

stderr=open(<file name>', 'w')

然后你不需要沟通,你也可以只使用调用而不是 Popen