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列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
Jul 24 Python
Python基于回溯法子集树模板解决数字组合问题实例
Sep 02 Python
pandas将DataFrame的列变成行索引的方法
Apr 10 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
Nov 10 Python
pthon贪吃蛇游戏详细代码
Jan 27 Python
Python笔记之facade模式
Nov 20 Python
python list数据等间隔抽取并新建list存储的例子
Nov 27 Python
keras之权重初始化方式
May 21 Python
在pyCharm中下载第三方库的方法
Apr 18 Python
Python源码解析之List
May 21 Python
Pytorch 如何加速Dataloader提升数据读取速度
May 28 Python
Python实现查询剪贴板自动匹配信息的思路详解
Jul 09 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使用goto实现自动重启swoole、reactphp、workerman服务的代码
2020/04/13 PHP
常见的5个PHP编码小陋习以及优化实例讲解
2021/02/27 PHP
windows系统php环境安装swoole具体步骤
2021/03/04 PHP
TNC vs BOOM BO3 第一场2.13
2021/03/10 DOTA
使用Jquery打造最佳用户体验的登录页面的实现代码
2011/07/08 Javascript
js获取浏览器的可视区域尺寸的实现代码
2011/11/30 Javascript
JavaScript中常用的运算符小结
2012/01/18 Javascript
jquery 插件开发 extjs中的extend用法小结
2013/01/04 Javascript
jQuery javaScript捕获回车事件(示例代码)
2013/11/07 Javascript
浅析Bootstrap组件之面板组件
2016/05/04 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
2017/04/07 Javascript
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
2018/12/05 jQuery
node将geojson转shp返回给前端的实现方法
2019/05/29 Javascript
微信小程序 自定义复选框实现代码实例
2019/09/04 Javascript
[02:31]DOTA2帕克 英雄基础教程
2013/11/26 DOTA
Python中subprocess模块用法实例详解
2015/05/20 Python
python web基础之加载静态文件实例
2018/03/20 Python
详解django三种文件下载方式
2018/04/06 Python
Python Unittest根据不同测试环境跳过用例的方法
2018/12/16 Python
Python标准库使用OrderedDict类的实例讲解
2019/02/14 Python
python实现beta分布概率密度函数的方法
2019/07/08 Python
Django 用户认证组件使用详解
2019/07/23 Python
基于h5py的使用及数据封装代码
2019/12/26 Python
Pytest单元测试框架如何实现参数化
2020/09/05 Python
Python 创建守护进程的示例
2020/09/29 Python
python opencv肤色检测的实现示例
2020/12/21 Python
通过python-pptx模块操作ppt文件的方法
2020/12/26 Python
大学生毕业自我鉴定范文
2014/02/03 职场文书
国际经济与贸易专业求职信
2014/07/10 职场文书
2014年环保工作总结
2014/11/26 职场文书
人才市场接收函
2015/01/30 职场文书
大专护理专业自荐信
2015/03/25 职场文书
2015年统计员个人工作总结
2015/07/23 职场文书
个人销售励志奋斗口号
2019/12/05 职场文书
php 防护xss,PHP的防御XSS注入的终极解决方案
2021/04/01 PHP
Linux中sftp常用命令整理
2022/06/28 Servers