在subprocess.Popen中,bufsize应用于哪个文件?

时间:2011-04-09 09:41:01

标签: python stream subprocess popen buffering

我需要在对线路缓冲的Popen调用中设置stderr流。我发现了bufsize参数,但它没有说明它实际应用于哪个3(stdinstdoutstderr)文件。

  • bufsize参数是哪个文件 修改
  • 如何修改另一个 文件缓冲模式?

1 个答案:

答案 0 :(得分:3)

使用来源,Luke :-) /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,无法具体。