【发布时间】:2011-04-09 09:41:00
【问题描述】:
我需要在Popen 对行缓冲的调用中设置stderr 流。我发现了 bufsize 参数,但它没有说明它实际应用于 3 个(stdin、stdout、stderr)文件中的哪一个。
-
bufsize参数是哪个文件 修改? - 如何修改另一个 文件缓冲模式?
【问题讨论】:
标签: python stream subprocess popen buffering
我需要在Popen 对行缓冲的调用中设置stderr 流。我发现了 bufsize 参数,但它没有说明它实际应用于 3 个(stdin、stdout、stderr)文件中的哪一个。
bufsize 参数是哪个文件
修改?【问题讨论】:
标签: python stream subprocess popen buffering
使用来源,卢克 :-) /usr/lib/python2.7/subprocess.py:
if p2cwrite is not None:
self.stdin = os.fdopen(p2cwrite, 'wb', bufsize)
if c2pread is not None:
if universal_newlines:
self.stdout = os.fdopen(c2pread, 'rU', bufsize)
else:
self.stdout = os.fdopen(c2pread, 'rb', bufsize)
if errread is not None:
if universal_newlines:
self.stderr = os.fdopen(errread, 'rU', bufsize)
else:
self.stderr = os.fdopen(errread, 'rb', bufsize)
所以它似乎在所有这些中都使用了bufsize,无法具体说明。
【讨论】: