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程序设计入门(2)变量类型简介
Jun 16 Python
在Django的URLconf中使用命名组的方法
Jul 18 Python
Django小白教程之Django用户注册与登录
Apr 22 Python
快速了解python leveldb
Jan 18 Python
python leetcode 字符串相乘实例详解
Sep 03 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
Oct 14 Python
Python中的类与类型示例详解
Jul 10 Python
使用python写的opencv实时监测和解析二维码和条形码
Aug 14 Python
在notepad++中实现直接运行python代码
Dec 18 Python
使用Python实现将多表分批次从数据库导出到Excel
May 15 Python
Django+Celery实现动态配置定时任务的方法示例
May 26 Python
使用python编写一个语音朗读闹钟功能的示例代码
Jul 14 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实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
Javascript与vbscript数据共享
2007/01/09 Javascript
基于jquery的修改当前TAB显示标题的代码
2010/12/11 Javascript
javascript日期转换 时间戳转日期格式
2011/11/05 Javascript
jQuery 仿百度输入标签插件附效果图
2014/07/04 Javascript
JavaScript隐式类型转换
2016/03/15 Javascript
AngularJS下对数组的对比分析
2016/08/24 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
WebSocket实现简单客服聊天系统
2017/05/12 Javascript
微信小程序获取循环元素id以及wx.login登录操作
2017/08/17 Javascript
React Native预设占位placeholder的使用
2017/09/28 Javascript
vue双向绑定及观察者模式详解
2019/03/19 Javascript
基于Vue SEO的四种方案(小结)
2019/07/01 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
Vuex的实战使用详解
2019/10/31 Javascript
Vue.js实现可编辑的表格
2019/12/11 Javascript
javascript 函数的暂停和恢复实例详解
2020/04/25 Javascript
vue router返回到指定的路由的场景分析
2020/11/10 Javascript
[27:53]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS iG
2014/05/26 DOTA
使用PYTHON接收多播数据的代码
2012/03/01 Python
浅谈对yield的初步理解
2017/05/29 Python
python 将字符串转换成字典dict的各种方式总结
2018/03/23 Python
Python全局变量与局部变量区别及用法分析
2018/09/03 Python
tensorflow pb to tflite 精度下降详解
2020/05/25 Python
纯CSS3实现圆角效果(含IE兼容解决方法)
2014/05/07 HTML / CSS
Street One瑞士:德国现代时装公司
2019/10/09 全球购物
创建卫生先进单位实施方案
2014/03/10 职场文书
给校长的建议书400字
2014/05/15 职场文书
学习焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
专业技术人员年度考核评语
2014/12/31 职场文书
就业推荐表导师评语
2014/12/31 职场文书
五年级下册复习计划
2015/01/19 职场文书
营运督导岗位职责
2015/04/10 职场文书
教你如何使用Python Tkinter库制作记事本
2021/06/10 Python
浅谈Java实现分布式事务的三种方案
2021/06/11 Java/Android