python request下载文件时,显示进度以及网速
import requests
import time def downloadFile(name, url):
headers = {'Proxy-Connection':'keep-alive'}
r = requests.get(url, stream=True, headers=headers)
length = float(r.headers['content-length'])
f = open(name, 'wb')
count =
count_tmp =
time1 = time.time()
for chunk in r.iter_content(chunk_size = ):
if chunk:
f.write(chunk)
count += len(chunk)
if time.time() - time1 > :
p = count / length *
speed = (count - count_tmp) / / /
count_tmp = count
print(name + ': ' + formatFloat(p) + '%' + ' Speed: ' + formatFloat(speed) + 'M/S')
time1 = time.time()
f.close() def formatFloat(num):
return '{:.2f}'.format(num) if __name__ == '__main__':
downloadFile('360.exe', 'http://down.360safe.com/setup.exe')
输出
bogon:Desktop macname$ python3 test.py
.exe: 4.82% Speed: 1.98M/S
.exe: 9.36% Speed: 1.86M/S
.exe: 13.79% Speed: 1.81M/S
.exe: 18.15% Speed: 1.79M/S
.exe: 24.17% Speed: 2.47M/S
.exe: 29.52% Speed: 2.19M/S
.exe: 35.41% Speed: 2.41M/S
.exe: 41.31% Speed: 2.42M/S
.exe: 46.90% Speed: 2.29M/S
.exe: 52.36% Speed: 2.24M/S
.exe: 58.64% Speed: 2.57M/S
.exe: 64.07% Speed: 2.23M/S
.exe: 69.33% Speed: 2.16M/S
.exe: 73.85% Speed: 1.85M/S
.exe: 79.36% Speed: 2.26M/S
.exe: 85.48% Speed: 2.51M/S
.exe: 92.27% Speed: 2.78M/S
.exe: 97.85% Speed: 2.28M/S
python request下载文件时,显示进度以及网速的更多相关文章
- 实现在 .net 中使用 HttpClient 下载文件时显示进度
在 .net framework 中,要实现下载文件并显示进度的话,最简单的做法是使用 WebClient 类.订阅 DownloadProgressChanged 事件就行了. 但是很可惜,WebC ...
- 使用libcurl开源库和Duilib做的下载文件并显示进度条的小工具
转载:http://blog.csdn.net/mfcing/article/details/43603525 转载:http://blog.csdn.net/infoworld/article/de ...
- C# Winform下载文件并显示进度条
private void btnDown_Click(object sender, EventArgs e) { DownloadFile("http://localhost:1928/We ...
- Winform下载文件并显示进度条
本来是要研究怎样判断下载完成,结果找到这个方法,可以在这个方法完成之后提示下载完成. 代码如下: using System; using System.Collections.Generic; usi ...
- [c#]WebClient异步下载文件并显示进度
摘要 在项目开发中经常会用到下载文件,这里使用winform实现了一个带进度条的例子. 一个例子 using System; using System.Collections.Generic; usi ...
- 通过HttpUrlConnection下载文件并显示进度条
实现效果: 核心下载块: int count = 0; URL url = new URL("http://hezuo.downxunlei.com/xunlei_hezuo/thunder ...
- requests模块下载视频 显示进度和网速
requests 下载视频 import os,time import requests def downloadFile(name, url): headers = {'Proxy-Connecti ...
- AsyncTask用法解析-下载文件动态更新进度条
1. 泛型 AysncTask<Params, Progress, Result> Params:启动任务时传入的参数,通过调用asyncTask.execute(param)方法传入. ...
- 下载文件时-修改文件名字 Redis在Windows中安装方法 SVN安装和使用(简单版) WinForm-SQL查询避免UI卡死 Asp.Net MVC Https设置
下载文件时-修改文件名字 1后台代码 /// <summary> /// 文件下载2 /// </summary> /// <param name="Fil ...
随机推荐
- spring cloud微服务三:Eureka服务治理之注册服务提供者及服务的发现和消费
当服务注册中心成功建立以后,就需要有服务的注册和消费,否则这个服务注册中心就没有了存在的意义,而实际上,一个简单的服务注册也是非常简单的,仅仅需要实现四部曲就好. 首先,还是建立一个基本的spring ...
- Redis数据类型,持久化,回收策略——(Redis缓存第一章)
缓存:第一种是内存缓存 比如Map(简单的数据结构),以及EH Cache(Java第三方库),第二种是缓存组件比如Memached,Redis:Redis(remote dictionary ser ...
- vue seo管理 vue-meta-info
vue-meta-info: 安装: npm install vue-meta-info --save 全局引入vue-meta-info,在main.js ...
- 离散数学——python实现真值表和打印主范式
最近用python实现了真值表,经过有点儿曲折,刚开始没考虑优先级,直到前天才发现这个问题(离散数学没学好啊),用栈改了一下.话说python就是强,把列表类型当栈用,直接调用列表的pop()和app ...
- js 数组,字符串,json互相转换(在select实现多个输入的时候与后台交互常使用)
数组转字符串 var arr = [1,2,3,4,'巴德','merge']; var str = arr.join(','); console.log(str); // 1,2,3,4,巴德,me ...
- HTTP的一些理解
URI是Uniform Resource Identifier的缩写,统一资源标识符.URI用字符串标识某一互联网资源,而URL标识资源的地点(互联网上所处的位置).可见URL是URI的子集. 典型的 ...
- spark_load csv to hive via hivecontext
//prepare csv year,make,model,comment,blank "2012","Tesla","S","N ...
- object.wait为什么要和synchronized一块使用
Object.wait 中JDK提供的doc文档 Causes the current thread to wait until another thread invokes the notify() ...
- java里如何使用输入流和输出流实现读取本地文件里内容和写出到本地文件里
不多说,直接上干货! 第一种方法 PWDemo.java package zhouls.bigdata.DataFeatureSelection.filter; import java.io.File ...
- Oracle的表创建和事务管理
Oracle的表创建和事务管理 - CURD,根据查询结果创建新表 - 事务管理 - 什么是事务 ,为什么要用事务 - SQL99事务隔离级别 - Oracle事务隔离级别 - 事务回滚 - 隐式回滚 ...