【发布时间】:2011-08-02 01:04:17
【问题描述】:
我需要在Popen 对行缓冲的调用中设置stderr 流。我发现了bufsize 参数,但它适用于所有stdin、stdout 和stderr 文件。
如何将每个文件的缓冲调整为不同?
【问题讨论】:
-
这样的事情怎么样:
out = subprocess.Popen(['ls'], stdout=subprocess.PIPE, bufsize=0)然后,cat = subprocess.Popen(['ls'], stdin=out.stdout, stderr=subprocess.PIPE, bufsize=1)。在第一种情况下,stdout是无缓冲的,而具有相同参数的stderr是行缓冲的。
标签: python python-3.x popen buffering