我pyhton3脚本下载使用urlretrieve一些在互联网上的图像,我想用完成百分比和下载速度添加进度为每下载。如何使用进度模块urlretrieve
的progressbar模块似乎是一个很好的解决方案,不过虽然我已经通过their examples观看,范例4似乎是正确的事情,我仍然无法理解如何将它环绕的urlretrieve。
我想我应该增加第三个参数:
urllib.request.urlretrieve('img_url', 'img_filename', some_progressbar_based_reporthook)
但我怎么正确地定义它?
谢谢Doron。但我仍然不明白如何使用它。如果我做'urllib.request.urlretrieve('img_url','img_filename',reporthook = show_progress())',那么我得到'TypeError',告诉函数缺少所有3个必需的位置参数。 – Vasily
再次感谢,我查了一下请求,它真的好多了。因此,如果我找到了你的话 - 我可以通过'r.headers(['Content-length'])''和'r.iter_content()'中的块添加当前进度来实现文件大小,对吧? – Vasily
是的。 '用于r.iter_content()'中的块,在里面你可以执行'downloaded + = len(chunk)',然后用下载的值更新pbar。不要忘记用'stream = True'发送请求。查看请求文档。 –