0

我只想检查程序运行期间处理的行数。(我处理大约百万行的txt文件。)

要检查运行期间处理的行数,我使用下面的代码

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

当处理 2500 行时,我希望在屏幕上打印 1 个点。但是,我只能看到同时打印 40 个点。当处理 100000 行时。

我怎样才能修复它以获得我想要的结果?TT

4

2 回答 2

2

尝试sys.stdout.flush()sys.stdout.write('.').

你可以在那里使用 print 。如果您不想在点后换行,请像这样调用 print:

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

在 Python 2.X 中: print '.',

于 2013-03-10T11:33:25.047 回答
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('.')
于 2013-03-10T11:09:36.020 回答