0

CSV ファイルから約 10,000 のドキュメントを rethinkDB テーブルに挿入しています。コードは次のようになります

print "inserting records",
with open('input.csv', 'rb') as csvfile:
    reader = csv.reader(csvfile, delimiter=',')
    for row in reader:
        document = # do some stuff to create the document
        insert_record(document)
        print ".",

ご覧のとおり、挿入するたびにドットが画面に表示され、操作の進行状況が示されます。残念ながら、代わりに表示されるのは次のとおりです。

  1. 数秒間何も起こらない
  2. 「レコードの挿入」と多数のドットが一度に表示されます
  3. 数秒間何も起こらない
  4. 繰り返しますが、多数のドットが一度に表示されます
  5. すべてのドキュメントが挿入されるまで、3 ~ 4 を繰り返します

印刷コマンドが「キャッシュ」されてからバッチで実行されるのはなぜですか?どうすれば修正できますか?

4

1 に答える 1

0

通常、標準出力に出力する場合、出力はバッファリングされ、十分に大きくなるとフラッシュされます。print ステートメントの後に追加してみてくださいsys.stdout.flush()。出力はよりスムーズになるはずです。

于 2015-05-06T17:17:27.863 に答える