python - 在subprocess.Popen中,bufsize适用于哪个文件?

标签 python stream subprocess popen buffering

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

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

最佳答案

使用源代码,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,无法具体说明。

关于python - 在subprocess.Popen中,bufsize适用于哪个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5604204/

相关文章:

c# - 如果我检查流中的有​​效图像,我无法将字节写入服务器

c# - 为什么处理 StreamReader 会使流不可读?

Python运行带有子进程的cm​​d命令(ffmpeg)并在执行某些代码之前等待cmd关闭

python - 在Python中执行一个BASH命令——在同一个进程中

python - 如何在 Windows 上非阻塞地从 python 子进程 popen 读取 stdout?

python - 在 Python 中获取 key 的最大长度

python - 如何在Python中反转字典并从重复的键值中创建一个列表

python - 从元组列表中返回最大值

c# - 将网络摄像头从客户端流式传输到服务器 C# 的有效方法

python - 为什么这个经过过滤的噪声信号的表现不像我预期的那样?