对python中的six.moves模块的下载函数urlretrieve详解


Posted in Python onDecember 19, 2018

实验环境:windows 7,anaconda 3(python 3.5),tensorflow(gpu/cpu)

函数介绍:所用函数为six.moves下的urllib中的函数,调用如下urllib.request.urlretrieve(url,[filepath,[recall_func,[data]]])。简单介绍一下,url是必填的指的是下载地址,filepath指的是保存的本地地址,recall_func指的是回调函数,下载过程中会调用可以用来显示下载进度。

实验代码:以下载cifar10的dataset和抓取斗鱼首页为例

下载cifar10的dataset,并解压

from six.moves import urllib
import os
import sys
import tensorflow as tf
import tarfile
FLAGS = tf.app.flags.FLAGS#提取系统参数作用的变量
tf.app.flags.DEFINE_string('dir','D:/download_html','directory of html')#将下载目录保存到变量dir中,通过FLAGS.dir提取
directory = FLAGS.dir#从FLAGS中提取dir变量
url = 'http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz'
filename = url.split('/')[-1]#-1表示分割后的最后一个元素
filepath = os.path.join(directory,filename)
if not os.path.exists(directory):
 os.makedirs(directory)
if not os.path.exists(filepath):
 def _recall_func(num,block_size,total_size):
 sys.stdout.write('\r>> downloading %s %.1f%%' % (filename,float(num*block_size)/float(total_size)*100.0))
 sys.stdout.flush()
 urllib.request.urlretrieve(url,filepath,_recall_func)
 print()
 file_info = os.stat(filepath)
 print('Successfully download',filename,file_info.st_size,'bytes')
tar = tarfile.open(filepath,'r:gz')#指定解压路径和解压方式为解压gzip
tar.extractall(directory)#全部解压

对python中的six.moves模块的下载函数urlretrieve详解

抓取斗鱼首页

from six.moves import urllib
import os
import sys
import tensorflow as tf
FLAGS = tf.app.flags.FLAGS#提取系统参数作用的变量
tf.app.flags.DEFINE_string('dir','D:/download_html','directory of html')#将下载目录保存到变量dir中,通过FLAGS.dir提取
directory = FLAGS.dir#从FLAGS中提取dir变量
url = 'http://www.douyu.com/'
filename = 'douyu.html'#保存成你想要的名字,这里保存成douyu.html
filepath = os.path.join(directory,filename)
if not os.path.exists(directory):
 os.makedirs(directory)
if not os.path.exists(filepath):
 def _recall_func(num,block_size,total_size):
 sys.stdout.write('\r>> downloading %s %.1f%%' % (filename,float(num*block_size)/float(total_size)*100.0))
 sys.stdout.flush()
 urllib.request.urlretrieve(url,filepath,_recall_func)
 print()
 file_info = os.stat(filepath)#获取文件信息
 print('Successfully download',filename,file_info.st_size,'bytes')#.st_size文件的大小,以字节为单位

对python中的six.moves模块的下载函数urlretrieve详解

对python中的six.moves模块的下载函数urlretrieve详解

以上这篇对python中的six.moves模块的下载函数urlretrieve详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python的web.py框架实现类似Django的ORM查询的教程
May 02 Python
在Python的Django框架中获取单个对象数据的简单方法
Jul 17 Python
Python中集合的内建函数和内建方法学习教程
Aug 19 Python
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
May 28 Python
python selenium 对浏览器标签页进行关闭和切换的方法
May 21 Python
Python理解递归的方法总结
Jan 28 Python
Python 硬币兑换问题
Jul 29 Python
Python(PyS60)实现简单语音整点报时
Nov 18 Python
Python更新所有已安装包的操作
Feb 13 Python
在python3中实现更新界面
Feb 21 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
Mar 10 Python
利用python如何实现猫捉老鼠小游戏
Dec 04 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
Dec 18 #Python
对python3标准库httpclient的使用详解
Dec 18 #Python
python 3.3 下载固定链接文件并保存的方法
Dec 18 #Python
python根据url地址下载小文件的实例
Dec 18 #Python
如何用python写一个简单的词法分析器
Dec 18 #Python
详解Python requests 超时和重试的方法
Dec 18 #Python
解决新django中的path不能使用正则表达式的问题
Dec 18 #Python
You might like
留言板翻页的实现详解
2006/10/09 PHP
图书管理程序(二)
2006/10/09 PHP
几种显示数据的方法的比较
2006/10/09 PHP
转PHP手册及PHP编程标准
2006/12/17 PHP
PHP register_shutdown_function函数的深入解析
2013/06/03 PHP
Yii2实现自定义独立验证器的方法
2017/05/05 PHP
学习ExtJS(二) Button常用方法
2009/10/07 Javascript
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题
2010/06/21 Javascript
文字溢出实现溢出的部分再放入一个新生成的div中具体代码
2013/05/17 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
js 通用订单代码
2013/12/23 Javascript
extjs 如何给column 加上提示
2014/07/29 Javascript
用JavaScript实现页面重定向功能的教程
2015/06/04 Javascript
JS实现网页上随机产生超链接地址的方法
2015/11/09 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
2016/06/01 Javascript
AngularJS入门教程之MVC架构实例分析
2016/11/01 Javascript
jQuery插件Echarts实现的双轴图效果示例【附demo源码下载】
2017/03/04 Javascript
JS实现身份证输入框的输入效果
2017/08/21 Javascript
详解VUE 数组更新
2017/12/16 Javascript
BootstrapValidator验证用户名已存在(ajax)
2019/11/08 Javascript
详解ES6 扩展运算符的使用与注意事项
2020/11/12 Javascript
微信跳一跳自动运行python脚本
2018/01/08 Python
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
2018/04/28 Python
解决python中无法自动补全代码的问题
2018/12/04 Python
matplotlib绘制多个子图(subplot)的方法
2019/12/03 Python
Python填充任意颜色,不同算法时间差异分析说明
2020/05/16 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
Expedia韩国官网:亚洲发展最快的在线旅游门户网站
2018/02/26 全球购物
2013年大学生的自我鉴定
2013/10/24 职场文书
《胡杨》教学反思
2014/02/16 职场文书
毕业生找工作自荐书
2014/06/30 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
死者家属慰问信
2015/03/24 职场文书
uniapp开发小程序的经验总结
2021/04/08 Javascript
mysql升级到5.7时,wordpress导数据报错1067的问题
2021/05/27 MySQL
html实现弹窗的实例
2021/06/09 HTML / CSS