我正在尝试使用progressbar
来显示文件的下载进度。
我的示例代码:
r = browser.get(url, stream=True)
total_length = int(stream.headers.get('content-length'))
bar = progressbar.ProgressBar(maxval=(total_length/1024)).start()
with open(local_filename, 'wb') as f:
i = 0
for chunk in r.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)
bar.update(i)
i+=1
bar.finish()
这适用于大小为几MB的文件,但对于几KB的文件,下载很快就完成了,但进度条没有达到100%。它退出了89-92%左右。
我尝试为每个有效的更新引入time.sleep(0.1)
,但我不认为这是正确的方法。
即使小文件也可以达到100%吗?