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 ...
 
随机推荐
- 创建、配置Servlet
			
1.创建Servlet 2.选择继承的类及需要覆盖的方法 3.Servlet结构 package com.sysker.servlet; import java.io.IOException; imp ...
 - 洛谷P2202 [USACO13JAN]方块重叠Square Overlap
			
P2202 [USACO13JAN]方块重叠Square Overlap 题目描述 Farmer John is planning to build N (2 <= N <= 50,000 ...
 - centos 7.X关闭防火墙和selinux
			
一.关闭防火墙 centos从7开始默认用的是firewalld,这个是基于iptables的,虽然有iptables的核心,但是iptables的服务是没安装的. 所以你只要停止firewalld服 ...
 - 如何在手机项目中使用rem单位
			
rem这是个低调的css单位,近一两年开始崭露头角,有许多同学对rem的评价不一,有的在尝试使用,有的在使用过程中遇到坑就弃用了.但是我对rem综合评价是用来做web app它绝对是最合适的人选之一. ...
 - Models-查询详细操作
			
# 单表简单查询13种方法 1.all(): 查询所有结果 all: models.表名.objects.all() book_all=models.Book.objects.all() # 结果是q ...
 - idea中导入githup项目
			
转载大神: https://blog.csdn.net/m0_37630602/article/details/69950528
 - FTP服务器FileZilla Server配置及使用方法
			
FileZilla Server下载安装完成后,安装过程不写说明了,网上一抓一大把,直接从配置开始记录. 1.创建服务器 ² Password:栏位中输入本服务器Filezilla服务的密码, ² ...
 - GUI的最终选择 Tkinter(五):Text用法
			
Text组件 绘制单行文本使用Label组件,多行选使用Listbox,输入框使用Entry,按钮使用Button组件,还有Radiobutton和Checkbutton组件用于提供单选或多选的情况, ...
 - CollabNet Subversion Edge 迁移的方法
			
服务器迁移或重新搭建时,数据迁移方法,安装配置在https://www.cnblogs.com/pinpin/p/9889362.html种 这里只是迁移用户和数据,做个备注而且,比较简单所以不截图了 ...
 - string的各种函数(系统学习)
			
1.按照面向对象的要求,可以把字符串看作一个对象,设计一个串类加以描述.但是,在一般的情况下不必建立自己的串类,c++标准 在库<string>中给出了类string,提供了丰富的串操作, ...