python实现下载文件的三种方法


Posted in Python onFebruary 09, 2017

Python开发中时长遇到要下载文件的情况,最常用的方法就是通过Http利用urllib或者urllib2模块。

当然你也可以利用ftplib从ftp站点下载文件。此外Python还提供了另外一种方法requests。

下面来看看三种方法是如何来下载zip文件的:

方法一:

import urllib 
import urllib2 
import requests
print "downloading with urllib" 
url = 'https://3water.com//test/demo.zip' 
print "downloading with urllib"
urllib.urlretrieve(url, "demo.zip")

方法二:

import urllib2
print "downloading with urllib2"
url = 'https://3water.com//test/demo.zip' 
f = urllib2.urlopen(url) 
data = f.read() 
with open("demo2.zip", "wb") as code:   
  code.write(data)

方法三:

import requests 
print "downloading with requests"
url = 'https://3water.com/test/demo.zip' 
r = requests.get(url) 
with open("demo3.zip", "wb") as code:
   code.write(r.content)

看起来使用urllib最为简单,一句语句即可。当然你可以把urllib2缩写成:

f = urllib2.urlopen(url) 
with open("demo2.zip", "wb") as code:
  code.write(f.read())

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
分享15个最受欢迎的Python开源框架
Jul 13 Python
python实现的系统实用log类实例
Jun 30 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
Mar 16 Python
如何高效使用Python字典的方法详解
Aug 31 Python
python 对象和json互相转换方法
Mar 22 Python
python 解压pkl文件的方法
Oct 25 Python
python3.x实现base64加密和解密
Mar 28 Python
使用Python来做一个屏幕录制工具的操作代码
Jan 18 Python
python3 xpath和requests应用详解
Mar 06 Python
解决echarts中饼图标签重叠的问题
May 16 Python
windows10在visual studio2019下配置使用openCV4.3.0
Jul 14 Python
python实现企业微信定时发送文本消息的示例代码
Nov 24 Python
Python如何实现守护进程的方法示例
Feb 08 #Python
详解Python中表达式i += x与i = i + x是否等价
Feb 08 #Python
Python实现的多线程http压力测试代码
Feb 08 #Python
Python实现定时任务
Feb 08 #Python
python使用matplotlib绘制柱状图教程
Feb 08 #Python
Python实现简单的多任务mysql转xml的方法
Feb 08 #Python
python使用matplotlib绘制折线图教程
Feb 08 #Python
You might like
用Flash图形化数据(二)
2006/10/09 PHP
php数组函数序列之array_push() 数组尾部添加一个或多个元素(入栈),返回新长度。
2011/11/07 PHP
Session 失效的原因汇总及解决丢失办法
2015/09/30 PHP
php简单随机字符串生成方法示例
2017/04/19 PHP
不错的JS中变量相关的细节分析
2007/08/13 Javascript
在网页里看flash的trace数据的js类
2009/01/10 Javascript
jQuery的attr与prop使用介绍
2013/10/10 Javascript
用javascript删除当前行,添加行(示例代码)
2013/11/25 Javascript
JavaScript中实现异步编程模式的4种方法
2014/09/24 Javascript
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
2015/03/28 Javascript
跟我学习javascript的严格模式
2015/11/16 Javascript
javascript实现网站加入收藏功能
2015/12/16 Javascript
jquery+ajax+text文本框实现智能提示完整实例
2016/07/09 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
2016/11/09 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
基于Vue实现图书管理功能
2017/10/17 Javascript
React降级配置及Ant Design配置详解
2018/12/27 Javascript
JS实现页面跳转与刷新的方法汇总
2019/08/30 Javascript
分享Angular http interceptors 拦截器使用(推荐)
2019/11/10 Javascript
Node.js API详解之 util模块用法实例分析
2020/05/09 Javascript
js实现简单选项卡制作
2020/08/05 Javascript
[04:26]2014DOTA2西雅图国际邀请赛 总决赛TOPPLAY
2014/07/22 DOTA
在Python中使用M2Crypto模块实现AES加密的教程
2015/04/08 Python
Python匹配中文的正则表达式
2016/05/11 Python
Django 连接sql server数据库的方法
2018/06/30 Python
python生成密码字典的方法
2018/07/06 Python
利用arcgis的python读取要素的X,Y方法
2018/12/22 Python
python感知机实现代码
2019/01/18 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
CSS3实现多重边框的方法总结
2016/05/31 HTML / CSS
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
史泰博(Staples)中国官方网站:办公用品一站式采购
2016/09/05 全球购物
教育专业个人求职信
2013/12/02 职场文书
爱护草坪标语
2014/06/24 职场文书
基于Python实现将列表数据生成折线图
2022/03/23 Python