Python sys.stderr刷新频率

sys.stderr刷新其缓冲区的频率是多少,并且在不同的环境中是否是这个标准?

>>> import sys
>>> sys.__stderr__
<open file '<stderr>', mode 'w' at 0x2b4fcb7ac270>

我发现它只是一个标准的文件类型,但我不知道缓冲应该是什么值。 dir()似乎也没有产生任何有用的信息。


在Python 2中,我无法找到文件sys.stderr的缓冲区的指定位置。 我期望在C中的stderr与没有缓冲的(Windows除外)行为一样,我不知道c99标准是否要求它。 标准错误流在POSIX中没有完全缓冲。 -u选项强制标准流在Python 2中无缓冲。

在Python 3上:

交互时,标准流是行缓冲的。 否则,它们像常规文本文件一样被块缓冲。 您可以使用-u命令行选项覆盖此值。

-u命令行选项:

强制stdout和stderr流(可用作其buffer属性)的二进制层未缓冲。 如果写入控制台,文本I / O层仍然是行缓冲区,如果重定向到非交互式文件,则文本I / O层将被缓冲区缓冲。

链接地址: http://www.djcxy.com/p/19475.html

上一篇: Python sys.stderr flush frequency

下一篇: Form designer in VS2013 Zoomed in?