Python urllib的urlretrieve()函数解析 (显示下载进度)

 1 #!/usr/bin/python
 2 #encoding:utf-8
 3 import urllib
 4 import os
 5 def Schedule(a,b,c):
 6     ‘‘‘‘‘
 7     a:已经下载的数据块
 8     b:数据块的大小
 9     c:远程文件的大小
10    ‘‘‘
11     per = 100.0 * a * b / c
12     if per > 100 :
13         per = 100
14     print ‘%.2f%%‘ % per
15 url = ‘http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2‘
16 #local = url.split(‘/‘)[-1]
17 local = os.path.join(‘/data/software‘,‘Python-2.7.5.tar.bz2‘)
18 urllib.urlretrieve(url,local,Schedule)
19 ######output######
20 #0.00%
21 #0.07%
22 #0.13%
23 #0.20%
24 #....
25 #99.94%
26 #100.00%

下面我们再来看看 urllib 模块提供的 urlretrieve() 函数。urlretrieve() 方法直接将远程数据下载到本地。

1 >>> help(urllib.urlretrieve)
2 Help on function urlretrieve in module urllib:
3  
4 urlretrieve(url, filename=None, reporthook=None, data=None)
  • 参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)
  • 参数 reporthook 是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度。
  • 参数 data 指 post 到服务器的数据,该方法返回一个包含两个元素的(filename, headers)元组,filename 表示保存到本地的路径,header 表示服务器的响应头。

参考至http://blog.csdn.net/Bone_ACE/article/category/3039643/3

时间: 2024-10-27 11:36:01

Python urllib的urlretrieve()函数解析 (显示下载进度)的相关文章

Python urllib urlretrieve函数解析

Python urllib urlretrieve函数解析 利用urllib.request.urlretrieve函数下载文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 Urlretrieve函数解析 urllib.request.urlretrieve函数解析 urlretrieve(url, filename=None, reporthook=None, data=None) 参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件

Python HTTP下载文件并显示下载进度条

下面的Python脚本中利用request下载文件并写入到文件系统,利用progressbar模块显示下载进度条. 其中利用request模块下载文件可以直接下载,不需要使用open方法,例如: import urllib import requests.packages.urllib3 requests.packages.urllib3.disable_warnings() url = "https://raw.githubusercontent.com/racaljk/hosts/maste

Android中AsyncTask进行后台下载文件并在下拉菜单显示下载进度

在开发过程中,总会需要从网络上下载文件,有时候还需要将下载进度显示在下拉菜单中. 现在写了一个Demo,封装了AsyncTask下载文件和进度显示的代码,以后在做项目的时候能够直接进行使用. 效果图: 主界面只有一个按钮,比较简单: / layout / activity_main.xml : <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="h

Android中如何下载文件并显示下载进度

原文地址:http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1125/2057.html 这里主要讨论三种方式:AsyncTask.Service和使用DownloadManager. 一.使用AsyncTask并在进度对话框中显示下载进度 这种方式的优势是你可以在后台执行下载任务的同时,也可以更新UI(这里我们用progress bar来更新下载进度) 下面的代码是使用的例子 1 // declare the dialog as a

libcurl开源库在Win7 + VS2012环境下编译、配置详解 以及下载文件并显示下载进度 demo(转载)

转载:http://blog.csdn.net/fengshuiyue/article/details/39530093(基本教程) 转载:https://my.oschina.net/u/1420791/blog/198247 转载:http://www.cnblogs.com/flylong0204/p/4723155.html 转载:http://www.tuicool.com/articles/VNRzEbq 转载:http://blog.csdn.net/hei_ya/article/

iOSQuartz2D-02-绘制炫酷的下载进度条

效果图 实现思路 要实现绘图,通常需要自定义一个UIView的子类,重写父类的- (void)drawRect:(CGRect)rect方法,在该方法中实现绘图操作 若想显示下载进度,只需要实例化自定义子类的对象(若是storyboard中控件,只需修改控件的class属性为自定义子类的类名即可) 效果图所示的效果其实是绘制一个圆弧,动态的改变终点的位置,最终达到一个封闭的圆 中间的文字是一个UILabel控件,根据进度动态改变文字的现实 实现步骤 自定义一个UIView的子类 //提供一个成员

python之文件下载 (urllib模块urlretrieve方法)

有很多时候需要从服务端下载文件,比如更新客户端的版本, 从服务端下载文件进行解析等很多的时候选下载文件操作,今天记录一下python 从服务端下载文件的操作, 代码如下: #!/usr/bin/env python2 # -*- coding: utf-8 -*- from urllib import urlretrieve class software(object): def __init__(self): super(software, self).__init__() def start

Python中urlretrieve函数

API定义: urllib.request.urlretrieve(url,filename=None,reporthook=None, data=None) 利用urlretrieve() 将数据下载到本地. - 参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据.) - 参数 reporthook 是一个回调函数,当连接上服务器.以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度. - 参数 data 指 po

Python urllib模块urlopen()与urlretrieve()详解

1.urlopen()方法urllib.urlopen(url[, data[, proxies]]) :创建一个表示远程url的类文件对象,然后像本地文件一样操作这个类文件对象来获取远程数据.参数url表示远程数据的路径,一般是网址:参数data表示以post方式提交到url的数据(玩过web的人应该知道提交数据的两种方式:post与get.如果你不清楚,也不必太在意,一般情况下很少用到这个参数):参数proxies用于设置代理.urlopen返回 一个类文件对象,它提供了如下方法:read(