【发布时间】:2014-04-23 15:23:45
【问题描述】:
sys.stderr 多久刷新一次缓冲区,不同环境之间是否有此标准?
>>> import sys
>>> sys.__stderr__
<open file '<stderr>', mode 'w' at 0x2b4fcb7ac270>
我看到它只是一个标准文件类型,但我不知道buffering 应该是什么值。 dir() 似乎也没有提供任何有用的信息。
【问题讨论】:
-
stderr,独立于
sys.stderr,通常是无缓冲的。 -
刚刚遇到一个 stderr 被缓冲并导致问题的用例:
docker run -d -p 8000:8000 ubuntu python3 -m http.server运行 python HTTP 服务器守护程序。所有输出都到 stderr,如果没有答案中给出的-u标志,python 不会将其刷新到docker logs。
标签: python buffer flush stderr