python-subprocess.Popen:stdin,stdout,stderr的不同缓冲?
作者:互联网
我需要将Popen
调用中的stderr流设置为行缓冲.我发现了bufsize参数,但它适用于所有stdin,stdout和stderr文件.
如何将每个文件的缓冲设置为不同?
解决方法:
我假设您将PIPE用于stderr?在这种情况下,我认为您可以执行以下操作:
p = subprocess.Popen(..., stderr=subprocess.PIPE)
fd = p.stderr.fileno()
my_stderr = os.fdopen(os.dup(fd), 'rU', new_bufsize)
os.close(fd)
# use my_stderr from here on
标签:python-3-x,popen,buffering,python 来源: https://codeday.me/bug/20191102/1993744.html