我对Python完全陌生,希望在将数据从一个数据库复制到另一个数据库(MongoDB)时显示进度条。我试图得到的是一个progressbar,显示数据库副本到另一个副本的推进(百分比)。副本运行良好,问题在于我的progressbar的更新,每次循环都会重新打印。
以下是脚本:
coll_names = db_in.collection_names()
db_in_size = db_in.command('dbstats')['dataSize']
bar = progressbar.ProgressBar(max_value=db_in_size).start()
for X in X_list:
for coll in coll_names:
db_out_size = db_out.command('dbstats')['dataSize']
bar.update(db_out_size)
db_out[coll].delete_many({'X': X})
data_in = db_in[coll].find({'X': X})
if data_in.count() > 0:
db_out[coll].insert_many(data_in)
bar.finish()
X_列表包含字符串。
这段代码当然没有经过优化,也没有以正确的方式显示单个progressbar,但请耐心听我说。
预期结果:
Single progressbar on one line
当前结果:
One progressbar print for every iteration
当前结果:
tqdm
提前感谢您的任何意见。