urlretrieve 如何给文件下载设置下载进度?
#python #xiaodeng #如何给文件下载设置下载进度? import urllib def callbackinfo(down,block,size): ''' 回调函数: down:已经下载的数据块 block:数据块的大小 size:远程文件的大小 ''' per=100.0*(down*block)/size if per>100: per=100 print '%.2f%%'%per url='http://www.sina.com.cn' local='sina.html' urllib.urlretrieve(url,local,callbackinfo) local #参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。) 【新增】local参数的数值如果只是单纯的文件名字,如test.html,test.txt等等,则默认将下载的文件保存在当前运行的py脚本路径下面
【新增】比如:urllib.urlretrieve('http://zzk.cnblogs.com/','index.html')
reporthook: #是一个回调函数,当连接上服务器以及相应数据块传输完毕时会触发该回调,我们就可以利用该回调函数来显示当前的下载进度。
【新增】下载状态的报告,他有多个参数,
1)参数1:当前传输的块数
2)参数2:块的大小
3)参数3,总数据大小
【新增】urlretrieve函数返回结果有2个参数:
1)filename,文件名
2)HTTPMessage对象,这个就是urllib.urlopen()函数的info()返回结果
3)比如:
filename,info=urllib.urlretrieve('http://zzk.cnblogs.com/','index.html')
print info
无语言基础,自学python所做的各种笔记,欢迎大牛指点.