Python urllib 如何添加进度显示
code: remote = urllib.urlopen(remote_file) local_file = open(local_path_name, "wb") local_file.write(remote.read()) 问题: 用这种方式可以很好的下载远程文件, 现在需要加入一个进度显示的功能, 类似于下载软件一样, 显示出下载的百分比, 请问怎么做?
恐怕不行!你可以查一下urllib相关文档,如果有与进度有关的回调函数或属性说明urllib已经实现了汇报进度的功能,否则,无法实现,需要修改urllib代码。 个人观点,仅供参考。 定一个标识,下载完后修改标识,图形自己做。引用 Python code >>> def report_hook(count, block_size, total_size): ... print '%02d%%'%(100.0 * count * block_size/ total_size) ... >>> urllib.urlretrieve("http://sports.sina.com.cn/", reportho…… 呵呵,看来是实现了的. 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的
相关问答:
python和pyqt以及Eric4都已经配置好了,打开Eric4写个python程序比如简单的 print“hello,world”,怎么编译运行了,Start菜单的所有命令都出现和图中差不多的对话框,应当怎么运行了? 求大家指教 没有人用 ......
在list中添加一个类的局部变量 这样做是否合法 请看下面例子: Python code: class A(): def __init__( self ): self.__a = 0 self.__b = 'hello' def get_a( self ): ret ......
#! c:\python26 # Filename: backup_ver1.py import os import time source=[r'C:\test', r'C:\test1'] target_dir='D:\\back\\' target=target_dir+time.strftime('%Y%m%d%H%M%S')+'.zip' zip_command=" ......
Traceback (most recent call last): File "C:\test.py", line 80, in <module> cur.execute("update userdata set kb=0 where strAccountID='%s'" % name) ......