文章详情页
python - 如何优雅的获取下载速度?
问题描述
以前一直用 urlopen然后 read, 开一个线程,每秒去检测一次收到的buffer大小, 有没有优雅一点的方式获取速度?
问题解答
回答1:给 urllib.urlretrieve(url[, filename[, reporthook[, data]]]), 写回调函数
import timeimport urllibstart_time = time.time()def Schedule(a,b,c): ’’’ a:已经下载的数据块 b:数据块的大小 c:远程文件的大小 ’’’ speed = (a * b) / (time.time() - start_time) print speed urllib.urlretrieve(url,local,Schedule)回答2:
使用progreebar
回答3:streaming.
回答4:有没有试过检测所下载文件的增量.定时检测下载文件在本地的大小, 取增量.
回答5:如果是python的话,一般的库都会提供回调函数来做这方面的工作。
相关文章:
1. 关于《Effective Java中文版(第2版)》的问题2. angular.js - angularjs怎么实现跳转的,是要写路由吗3. css - 移动端 oppo 手机之 Border-radius4. docker 下面创建的IMAGE 他们的 ID 一样?这个是怎么回事????5. javascript - 关于圣杯布局的一点疑惑6. angular.js - angular.ui:dropdown的下拉菜单关闭的偶尔失常问题7. javascript - html5显示隐藏8. angular.js - angularjs ng-repeat 不能刷新9. Angular.js 无法设置Authorization头,该怎么解决?10. 前端 - 封装d3的data.format功能遇到问题
排行榜