下面的代码打开并循环遍历500 MB的txt文件。它现在已经运行了近半个小时,有趣的是它没有打印出第一个&time;时间。(' time.gmtime()'。我重新启动内核几次以检查问题,但一切似乎都很好。
为什么没有python打印我的首字母' time.gmtime()'?
print time.gmtime()
with open(FullPath) as FileObj:
for lines in FileObj:
i +=1
print i
print time.gmtime()
编辑:
在一个小得多的文件(1523KB)上运行完全相同的代码,这就是我所得到的:
time.struct_time(tm_year=2015, tm_mon=4, tm_mday=27, tm_hour=14, tm_min=11, tm_sec=28, tm_wday=0, tm_yday=117, tm_isdst=0)
2852
time.struct_time(tm_year=2015, tm_mon=4, tm_mday=27, tm_hour=14, tm_min=11, tm_sec=41, tm_wday=0, tm_yday=117, tm_isdst=0)
详细信息:仅在代码完成的情况下打印时间版本!
答案 0 :(得分:4)
默认情况下,首次打印后你需要import sys;sys.stdout.flush()
作为冠层缓冲区stdout。