subprocess.Popen:标准输入、标准输出、标准错误的不同缓冲?
我需要在 Popen
调用行缓冲。我发现了 bufsize
参数,但它适用于所有 stdin
、stdout
和 stderr
文件。
如何调整每个文件的不同缓冲?
I'm in need of setting the stderr
stream in a Popen
call to line-buffered. I discovered the bufsize
argument, but it applies to all of the stdin
, stdout
, and stderr
files.
How do I adjust the buffering to be different for each file?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我假设你使用 PIPE 作为 stderr?在这种情况下,我认为你可以这样做:
I assume you use PIPE for stderr? In that case, I think you can do something like this:
如果您打算最终将
stdout
/stderr
写入文件,并且您只需要不缓冲输出,则可以使用以下内容:那么使用的缓冲将是文件的一个,在本例中:无缓冲。
If you intend to write
stdout
/stderr
to a file in the end anyway and you just need the output to be unbuffered you could use the following:Then the buffering used will be the one for the file, in this case: no buffering.