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 相关文章推荐
Python中的defaultdict模块和namedtuple模块的简单入门指南
Apr 01 Python
Python通过poll实现异步IO的方法
Jun 04 Python
浅析Python的web.py框架中url的设定方法
Jul 11 Python
Python中的sort()方法使用基础教程
Jan 08 Python
在python中实现将一张图片剪切成四份的方法
Dec 05 Python
pybind11在Windows下的使用教程
Jul 04 Python
Python使用微信接入图灵机器人过程解析
Nov 04 Python
python实发邮件实例详解
Nov 11 Python
flask框架蓝图和子域名配置详解
Jan 25 Python
Python动态强类型解释型语言原理解析
Mar 25 Python
彻底搞懂python 迭代器和生成器
Sep 07 Python
python打包生成so文件的实现
Oct 30 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
PHP反射机制用法实例
2014/08/28 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
2016/04/27 PHP
thinkPHP简单遍历数组方法分析
2016/05/16 PHP
浅谈PHP链表数据结构(单链表)
2016/06/08 PHP
laravel 获取当前url的别名方法
2019/10/11 PHP
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
Jquery Ajax xmlhttp请求成功问题
2015/02/04 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
2015/03/21 Javascript
JS+CSS实现美化的下拉列表框效果
2015/08/11 Javascript
Jquery $when done then的用法详解
2016/05/20 Javascript
详解JavaScript中的事件流和事件处理程序
2016/05/20 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
2016/10/20 Javascript
原生javascript实现文件异步上传的实例讲解
2017/10/26 Javascript
jQuery实现的自定义轮播图功能详解
2018/12/28 jQuery
详解Vue中使用插槽(slot)、聚类插槽
2019/04/12 Javascript
js实现转动骰子模型
2019/10/24 Javascript
es6 super关键字的理解与应用实例分析
2020/02/15 Javascript
linux 下实现python多版本安装实践
2014/11/18 Python
深入浅析ImageMagick命令执行漏洞
2016/10/11 Python
Python3.4 splinter(模拟填写表单)使用方法
2018/10/13 Python
关于python3中setup.py小概念解析
2019/08/22 Python
python3 实现函数写文件路径的正确方法
2019/11/27 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
Python虚拟环境virtualenv创建及使用过程图解
2020/12/08 Python
Python3中对json格式数据的分析处理
2021/01/28 Python
如何理解委托
2012/01/06 面试题
先进党支部事迹材料
2014/01/13 职场文书
采购部部长岗位职责
2014/02/06 职场文书
法学函授自我鉴定
2014/02/06 职场文书
最新大学生创业计划书写作攻略
2014/04/02 职场文书
元旦联欢会策划方案
2014/06/11 职场文书
青年文明号汇报材料
2014/12/23 职场文书
防溺水主题班会教案
2015/08/12 职场文书
小学秋季运动会通讯稿
2015/11/25 职场文书
小程序实现悬浮按钮的全过程记录
2021/10/16 HTML / CSS