code:
remote = urllib.urlopen(remote_file)
local_file = open(local_path_name, "wb")
local_file.write(remote.read())
问题:
用这种方式可以很好的下载远程文件, 现在需要加入一个进度显示的功能, 类似于下载软件一样, 显示出下载的百分比, 请问怎么做?
恐怕不行!你可以查一下urllib相关文档,如果有与进度有关的回调函数或属性说明urllib已经实现了汇报进度的功能,否则,无法实现,需要修改urllib代码。
个人观点,仅供参考。
定一个标识,下载完后修改标识,图形自己做。
呵呵,看来是实现了的.
yes, 下午我仔细翻阅了文档 也发现了这个方法, 并使用lambda作了些改进
code:
def my_reporthook(blocknum, blocksize, totalsize, url = None):
...
urllib.urlretrieve(remote_file, local_path + eachName, lambda nb, bs, fs, remote_file = remote_file:my_reporthook(nb, bs, fs, remote_file))
很好的解决了问题. 谢谢大家 不过分还是要给3F的