Ris*_*shi 12 python printing stdout flush
我最近切换操作系统,并使用更新的Python(2.7).在我的旧系统上,我曾经能够即时打印.例如,假设我有一个计算密集的for循环:
for i in range(10):
huge calculation
print i
Run Code Online (Sandbox Code Playgroud)
然后当代码完成每次迭代时,它会打印出来 i
但是,在我当前的系统上,python似乎缓存了标准输出,以便终端空白几分钟,然后打印:
1 2 3
简而言之.然后,再过几分钟,它会打印出来:
4 5 6
等等.如何在print声明到达声明后立即进行python打印?
Ole*_*liv 13
打印后尝试调用stdout的flush
import sys
...
sys.stdout.flush()
Run Code Online (Sandbox Code Playgroud)
或者使用命令行选项-u,其中:
强制stdin,stdout和stderr完全无缓冲.
| 归档时间: |
|
| 查看次数: |
7141 次 |
| 最近记录: |