我需要推出一批具有长期运行的进程subprocess.Popen
,并希望有stdout
与stderr
从各自动管道分离日志文件.每个进程将同时运行几分钟,并且我希望在进程运行时将每个进程写入两个日志文件(stdout
和stderr
).
我需要不断地调用p.communicate()
,以便更新每个日志文件上的每个进程在循环,或者是有一些方法来调用原有的Popen
命令,以便stdout
和stderr
自动传输到打开的文件句柄?
Joh*_*ooy 74
您可以传递stdout
和stderr
作为参数Popen()
subprocess.Popen(self, args, bufsize=0, executable=None, stdin=None, stdout=None,
stderr=None, preexec_fn=None, close_fds=False, shell=False,
cwd=None, env=None, universal_newlines=False, startupinfo=None,
creationflags=0)
Run Code Online (Sandbox Code Playgroud)
例如
>>> import subprocess
>>> with open("stdout.txt","wb") as out, open("stderr.txt","wb") as err:
... subprocess.Popen("ls",stdout=out,stderr=err)
...
<subprocess.Popen object at 0xa3519ec>
>>>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
55728 次 |
最近记录: |