对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 变量类型及命名规则介绍
Jun 08 Python
详解Python3操作Mongodb简明易懂教程
May 25 Python
python3设计模式之简单工厂模式
Oct 17 Python
Python实现邮件的批量发送的示例代码
Jan 23 Python
python实现自动登录后台管理系统
Oct 18 Python
浅析python3字符串格式化format()函数的简单用法
Dec 07 Python
python抓取网页内容并进行语音播报的方法
Dec 24 Python
Python使用requests提交HTTP表单的方法
Dec 26 Python
Django框架 查询Extra功能实现解析
Sep 04 Python
Scrapy框架介绍之Puppeteer渲染的使用
Jun 19 Python
python入门教程之基本算术运算符
Nov 13 Python
python 机器学习的标准化、归一化、正则化、离散化和白化
Apr 16 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
遍历指定目录下的所有目录和文件的php代码
2011/11/27 PHP
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
2013/06/25 PHP
PHP中对缓冲区的控制实现代码
2013/09/29 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
2016/03/21 PHP
Yii2实现log输出到file及database的方法
2016/11/12 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
Javascript 读后台cookie代码
2008/09/15 Javascript
网页中CDATA标记的说明
2010/09/12 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
2015/03/10 Javascript
js 声明数组和向数组中添加对象变量的简单实例
2016/07/28 Javascript
Js获取当前日期时间及格式化代码
2016/09/17 Javascript
jQuery EasyUi 验证功能实例解析
2017/01/06 Javascript
JavaScript 中使用 Generator的方法
2017/12/29 Javascript
vue实现前台列表数据过滤搜索、分页效果
2019/05/28 Javascript
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
小程序中使用css var变量(使js可以动态设置css样式属性)
2020/03/31 Javascript
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
[01:18:21]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
python读取浮点数和读取文本文件示例
2014/05/06 Python
python利用sklearn包编写决策树源代码
2017/12/21 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
2019/02/16 Python
详解有关PyCharm安装库失败的问题的解决方法
2020/02/02 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
python中线程和进程有何区别
2020/06/17 Python
Django ModelForm组件原理及用法详解
2020/10/12 Python
利用Python批量识别电子账单数据的方法
2021/02/08 Python
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
使用phonegap操作数据库的实现方法
2017/03/31 HTML / CSS
Nike挪威官网:Nike.com (NO)
2018/11/26 全球购物
来自世界各地的饮料:Flavourly
2019/05/06 全球购物
珍惜资源保护环境的建议书
2014/05/14 职场文书
学生会竞选演讲稿学习部
2014/08/25 职场文书
工作疏忽检讨书500字
2014/10/26 职场文书
违反纪律检讨书范文
2015/05/07 职场文书
党章学习心得体会2016
2016/01/14 职场文书
导游词之台湾阿里山
2019/10/23 职场文书