0

プログラムの実行中に処理された行数を確認したいだけです。(私はtxtファイルを約100万行で扱います。)

実行時に処理された行数を確認するには、以下のコードを使用します

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 を呼び出します。

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 に答える