我最近更换了操作系统,现在使用更新的 Python (2.7)。 在我的旧系统上,我能够立即打印输出。 例如,假设我有一个计算密集型的 for 循环:
for i in range(10):
huge calculation
print i
当代码完成每次迭代时,它将打印 i
。
然而,在我的当前系统上,Python似乎会缓存stdout,导致终端在数分钟内为空白,之后才会打印:
1 2 3
短时间内快速打印输出。然后,几分钟后,它会打印:
4 5 6
以此类推。如何让Python在达到print
语句时立即打印?
PYTHONUNBUFFERED
环境变量。 - Jeff Mercado