Python, rethinkDB: 多次插入的进度未显示
Python, rethinkDB: progress of multiple inserts not displayed
我正在将 CSV 文件中的大约 10k 个文档插入 rethinkDB table;代码看起来像这样
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 ".",
如您所见,每次插入后屏幕上都会打印一个点以显示操作进度。
不幸的是,我看到的是:
- 几秒钟内没有任何反应
- 同时显示"inserting records"和大量点
- 几秒钟内没有任何反应
- 再次同时显示多个点
- 3 - 4 次重复,直到插入所有文档
为什么打印命令 "cached" 然后批量完成,我该如何解决?
通常当打印到 stdout 时,输出将被缓冲,然后在它变得足够大时刷新。试试在打印语句后加sys.stdout.flush()
,输出应该更流畅
我正在将 CSV 文件中的大约 10k 个文档插入 rethinkDB table;代码看起来像这样
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 ".",
如您所见,每次插入后屏幕上都会打印一个点以显示操作进度。 不幸的是,我看到的是:
- 几秒钟内没有任何反应
- 同时显示"inserting records"和大量点
- 几秒钟内没有任何反应
- 再次同时显示多个点
- 3 - 4 次重复,直到插入所有文档
为什么打印命令 "cached" 然后批量完成,我该如何解决?
通常当打印到 stdout 时,输出将被缓冲,然后在它变得足够大时刷新。试试在打印语句后加sys.stdout.flush()
,输出应该更流畅