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配置mysql的教程(推荐)
Oct 13 Python
python+mongodb数据抓取详细介绍
Oct 25 Python
Django admin实现图书管理系统菜鸟级教程完整实例
Dec 12 Python
python 分离文件名和路径以及分离文件名和后缀的方法
Oct 21 Python
解决python中 f.write写入中文出错的问题
Oct 31 Python
PyQt5 在label显示的图片中绘制矩形的方法
Jun 17 Python
Python用5行代码实现批量抠图的示例代码
Apr 14 Python
django模板获取list中指定索引的值方式
May 14 Python
获取python运行输出的数据并解析存为dataFrame实例
Jul 07 Python
Python使用for生成列表实现过程解析
Sep 22 Python
python 两种方法删除空文件夹
Sep 29 Python
Python数组变形的几种实现方法
May 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中Y2K38的漏洞解决方法实例分析
2014/09/22 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
jquery validation插件表单验证的一个例子
2010/03/03 Javascript
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
Javascript 键盘事件的组合使用实现代码
2012/05/04 Javascript
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
Extjs的FileUploadField文件上传出现了两个上传按钮
2014/04/29 Javascript
jQuery实现返回顶部效果的方法
2015/05/29 Javascript
jQuery插件实现多级联动菜单效果
2015/12/01 Javascript
学习JavaScript设计模式之单例模式
2016/01/19 Javascript
js a标签点击事件
2017/03/30 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
2018/06/25 Javascript
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
2019/02/18 Javascript
Vue父子组件传值的一些坑
2020/09/16 Javascript
[02:11]2016国际邀请赛中国区预选赛全程回顾
2016/07/01 DOTA
python实现带声音的摩斯码翻译实现方法
2015/05/20 Python
Python通过DOM和SAX方式解析XML的应用实例分享
2015/11/16 Python
Python实现字典去除重复的方法示例
2017/07/31 Python
pytorch训练imagenet分类的方法
2018/07/27 Python
Python range与enumerate函数区别解析
2020/02/28 Python
python使用pymongo与MongoDB基本交互操作示例
2020/04/09 Python
keras训练浅层卷积网络并保存和加载模型实例
2020/07/02 Python
python map比for循环快在哪
2020/09/21 Python
Python基于Faker假数据构造库
2020/11/30 Python
巧用CSS3 border实现图片遮罩效果代码
2012/04/09 HTML / CSS
英国高街品牌:Miss Selfridge(塞尔弗里奇小姐)
2016/09/21 全球购物
学院领导推荐信
2013/10/30 职场文书
医学生自荐信
2013/12/03 职场文书
管道维修工岗位职责
2013/12/27 职场文书
致长跑运动员广播稿
2014/01/31 职场文书
写得不错的求职信范文
2014/07/11 职场文书
酒店七夕情人节活动策划方案
2014/08/24 职场文书
单位工作证明书格式
2014/10/04 职场文书
高中教师个人总结
2015/02/10 职场文书
解决golang结构体tag编译错误的问题
2021/05/02 Golang