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实现冒泡,插入,选择排序简单实例
Aug 18 Python
Python入门篇之编程习惯与特点
Oct 17 Python
Python的Flask框架中Flask-Admin库的简单入门指引
Apr 07 Python
python统计文本字符串里单词出现频率的方法
May 26 Python
Python手机号码归属地查询代码
May 04 Python
Python编程实现微信企业号文本消息推送功能示例
Aug 21 Python
python制作mysql数据迁移脚本
Jan 01 Python
python 中如何获取列表的索引
Jul 02 Python
Flask框架学习笔记之模板操作实例详解
Aug 15 Python
Python文件操作方法详解
Feb 09 Python
Python通过Schema实现数据验证方式
Nov 12 Python
python利用pytesseract 实现本地识别图片文字
Dec 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
《猛禽小队》:DC宇宙的又一超级大烂片
2020/04/09 欧美动漫
表格展示无限级分类(PHP版)
2012/08/21 PHP
php检查字符串中是否有外链的方法
2015/07/29 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
PHP大文件切割上传功能实例分析
2019/07/01 PHP
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
2011/01/09 Javascript
js 程序执行与顺序实现详解
2013/05/13 Javascript
js中function()使用方法
2013/12/24 Javascript
PHP和NodeJs开发的应用如何共用Session
2015/04/16 NodeJs
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
完美JQuery图片切换效果的简单实现
2016/07/21 Javascript
Angular Module声明和获取重载实例代码
2016/09/14 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
分享一道关于闭包、bind和this的面试题
2017/02/20 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)
2017/08/29 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
webpack4.x开发环境配置详解
2018/08/04 Javascript
react native 获取地理位置的方法示例
2018/08/28 Javascript
Nodejs核心模块之net和http的使用详解
2019/04/02 NodeJs
原生JS实现留言板
2020/03/26 Javascript
[13:55]Newbee vs Team Spirit
2018/06/07 DOTA
Pandas操作CSV文件的读写实现方法
2019/11/13 Python
wxPython实现列表增删改查功能
2019/11/19 Python
Selenium使用Chrome模拟手机浏览器方法解析
2020/04/10 Python
Html5 滚动穿透的方法
2019/05/13 HTML / CSS
英国家电购物网站:Sonic Direct
2019/03/26 全球购物
武汉英思工程科技有限公司–ORACLE面试测试题目
2012/04/30 面试题
学术会议邀请函范文
2014/01/22 职场文书
我的未来不是梦演讲稿
2014/09/02 职场文书
村主任“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
医生见习报告范文
2014/11/03 职场文书
2014年居委会工作总结
2014/12/09 职场文书
干货干货!2019最新优秀创业计划书
2019/03/21 职场文书
如何理解及使用Python闭包
2021/06/01 Python
mysq启动失败问题及场景分析
2021/07/15 MySQL