Python urllib2进度挂钩

Python urllib2进度挂钩,第1张

Python urllib2进度挂钩

这是一个完全有效的示例,它建立在Anurag响应中的分块方法的基础上。我的版本允许您设置块大小,并附加任意报告功能:

import urllib2, sysdef chunk_report(bytes_so_far, chunk_size, total_size):   percent = float(bytes_so_far) / total_size   percent = round(percent*100, 2)   sys.stdout.write("Downloaded %d of %d bytes (%0.2f%%)r" %        (bytes_so_far, total_size, percent))   if bytes_so_far >= total_size:      sys.stdout.write('n')def chunk_read(response, chunk_size=8192, report_hook=None):   total_size = response.info().getheader('Content-Length').strip()   total_size = int(total_size)   bytes_so_far = 0   while 1:      chunk = response.read(chunk_size)      bytes_so_far += len(chunk)      if not chunk:         break      if report_hook:         report_hook(bytes_so_far, chunk_size, total_size)   return bytes_so_farif __name__ == '__main__':   response = urllib2.urlopen('http://www.ebay.com');   chunk_read(response, report_hook=chunk_report)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5652529.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存