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实现各种排序算法的代码示例总结
Dec 11 Python
详解Python发送邮件实例
Jan 10 Python
Python中的异常处理相关语句基础学习笔记
Jul 11 Python
python简单线程和协程学习心得(分享)
Jun 14 Python
python虚拟环境virtualenv的安装与使用
Sep 21 Python
Django 中间键和上下文处理器的使用
Mar 17 Python
python快速排序的实现及运行时间比较
Nov 22 Python
python 常见的反爬虫策略
Sep 27 Python
Python threading模块condition原理及运行流程详解
Oct 05 Python
python 实现Harris角点检测算法
Dec 11 Python
python excel和yaml文件的读取封装
Jan 12 Python
JAVA SpringMVC实现自定义拦截器
Mar 16 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 上传文件的方法(类)
2009/07/30 PHP
php 使用GD库为页面增加水印示例代码
2014/03/24 PHP
基于ThinkPHP实现批量删除
2015/12/18 PHP
Js 弹出框口并返回值的两种常用方法
2010/12/30 Javascript
javascript感应鼠标图片透明度显示的方法
2015/02/24 Javascript
jQuery实现鼠标划过添加和删除class的方法
2015/06/26 Javascript
JavaScript如何禁止Backspace键
2015/12/02 Javascript
jquery对象和DOM对象的任意相互转换
2016/02/21 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
2016/05/27 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
react-native fetch的具体使用方法
2017/11/01 Javascript
JavaScript实现计算多边形质心的方法示例
2018/01/31 Javascript
红黑树的插入详解及Javascript实现方法示例
2018/03/26 Javascript
koa+mongoose实现简单增删改查接口的示例代码
2019/05/13 Javascript
js实现轮播图效果 纯js实现图片自动切换
2020/08/09 Javascript
JavaScript的一些小技巧分享
2021/01/06 Javascript
[09:43]DOTA2每周TOP10 精彩击杀集锦vol.5
2014/06/25 DOTA
python基础教程之常用运算符
2014/08/29 Python
Python中使用MELIAE分析程序内存占用实例
2015/02/18 Python
python简单程序读取串口信息的方法
2015/03/13 Python
Python查询阿里巴巴关键字排名的方法
2015/07/08 Python
python装饰器初探(推荐)
2016/07/21 Python
Python简单实现网页内容抓取功能示例
2018/06/07 Python
python实现决策树分类
2018/08/30 Python
Python OpenCV读取png图像转成jpg图像存储的方法
2018/10/28 Python
介绍一款python类型检查工具pyright(推荐)
2019/07/03 Python
python list多级排序知识点总结
2019/10/23 Python
Python通过类的组合模拟街道红绿灯
2020/09/16 Python
css3 条纹化和透明化表格Firefox下测试成功
2014/04/15 HTML / CSS
应届生自荐信范文
2014/02/21 职场文书
迟到检讨书2000字(精选篇)
2014/10/07 职场文书
《狼牙山五壮士》教学反思
2016/02/17 职场文书
Python实战之用tkinter库做一个鼠标模拟点击器
2021/04/27 Python
java如何实现socket连接方法封装
2021/09/25 Java/Android
springboot入门 之profile设置方式
2022/04/04 Java/Android