2013-03-10 49 views
0

我只想在程序运行期间检查处理过的行数。 (我把约万线txt文件。)如何查看在python程序中通过打印点处理了多少行?

运行时间期间检查处理的行数,我用下面

lineCnt = 0 
for line in lines: 
    lineCnt += 1 
    if lineCnt % 2500 == 0: 
     sys.stdout.write('.') 
    if lineCnt % 100000 == 0: 
     print("") 

我预期上打印时,2500线是屏幕1点这段代码对待。但是, 我只能看到同时打印40个点。当100000行处理。

我该如何解决它才能得到我想要的结果? T.T

+1

你为什么要叫'sys.stdout的.write“直接在第5行,然后在第7行使用”print“? – 2013-03-10 09:07:59

+0

如果使用打印新行字符自动添加到行尾。我只想在100000行处理时打印新行。 – 2013-03-10 09:18:05

+3

http://stackoverflow.com/q/107705/1258041 – 2013-03-10 09:52:37

回答

0

当点数很多时,是否要一次打印40个点?

lineCnt = 0 
for line in lines: 
    lineCnt += 1 
    if lineCnt > 100000: 
     if lineCnt % 100000 == 0: 
      print("." * 40) 
    elif lineCnt % 2500 == 0: 
     sys.stdout.write('.') 
2

尝试sys.stdout.write('.')后加入sys.stdout.flush()

你可以在那里使用打印。如果你不想点后,新的生产线做的,调用print这样的:

在Python 3.X: print('.', end='')

在Python 2.X: print '.',