Python获取下载速度并显示进度条
2017-08-17 20:17
666 查看
#!/usr/bin/python3 # -*- coding:utf-8 -*- import sys import time from urllib import request ''' urllib.urlretrieve 的回调函数: def callbackfunc(blocknum, blocksize, totalsize): @blocknum: 已经下载的数据块 @blocksize: 数据块的大小 @totalsize: 远程文件的大小 ''' def Schedule(blocknum, blocksize, totalsize): speed = (blocknum * blocksize) / (time.time() - start_time) # speed_str = " Speed: %.2f" % speed speed_str = " Speed: %s" % format_size(speed) recv_size = blocknum * blocksize # 设置下载进度条 f = sys.stdout pervent = recv_size / totalsize percent_str = "%.2f%%" % (pervent * 100) n = round(pervent * 50) s = ('#' * n).ljust(50, '-') f.write(percent_str.ljust(8, ' ') + '[' + s + ']' + speed_str) f.flush() # time.sleep(0.1) f.write('\r') # 字节bytes转化K\M\G def format_size(bytes): try: bytes = float(bytes) kb = bytes / 1024 except: print("传入的字节格式不对") return "Error" if kb >= 1024: M = kb / 1024 if M >= 1024: G = M / 1024 return "%.3fG" % (G) else: return "%.3fM" % (M) else: return "%.3fK" % (kb) if __name__ == '__main__': # print(format_size(1222222222)) start_time = time.time() filename = 'test.data' url = 'http://ip:port/path/speed.test' request.urlretrieve(url, filename, Schedule)
相关文章推荐
- Windows Phone 7 文件下载进度和速度显示
- 在Activity中获取AsyncTask中更新progress的值,可用在文件的上传和下载同步显示进度
- python 下载文件到本地,并显示进度
- python的urllib模块显示下载进度示例
- (二)操作libcurl实现获取目的文件大小, 下载进度显示, 断点续传
- 下载远程文件, 加入一个进度显示 分类: python 2013-06-09 12:09 314人阅读 评论(0) 收藏
- (二)使用libcurl实现获取目标文件大小, 下载进度显示, 断点续传等功能
- python下载文件时显示下载进度的方法
- python的urllib模块显示下载进度示例
- Python3使用requests模块显示下载进度
- 使用libcurl实现获取目标文件大小, 下载进度显示, 断点续传等功能
- python学习--下载--下载固定文件显示下载百分之的进度
- Python3使用requests模块显示下载进度
- Python urllib的urlretrieve()函数解析 (显示下载进度)
- Python HTTP下载文件并显示下载进度条
- python3 显示下载进度
- 解决Python爬虫在爬资源过程中使用urlretrieve函数下载文件不完全且避免下载时长过长陷入死循环,并在下载文件的过程中显示下载进度
- Android APK文件下载 并自动安装 显示文件下载进度,速度,以及花费时间
- python实现文件下载(包含进度条显示,文件大小显示,下载速度显示)
- libcurl获取下载进度百分比,下载速度,剩余时间