Python,rethinkDB:​​未显示多个插入的进度

时间:2015-05-06 09:56:42

标签: python python-2.7 rethinkdb rethinkdb-python

我将大约10k个文件从CSV文件插入到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重复,直到插入所有docuemnts
  6. 为什么打印命令"缓存"然后分批完成,我该如何解决?

1 个答案:

答案 0 :(得分:0)

通常在打印到stdout时,输出将被缓冲,然后在它变得足够大时刷新。尝试在print语句后添加sys.stdout.flush(),输出应该更平滑。