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处理文本文件并生成指定格式的文件
Jul 31 Python
python访问抓取网页常用命令总结
Apr 11 Python
Python中进程和线程的区别详解
Oct 29 Python
PyQt5实现下载进度条效果
Apr 19 Python
详解python多线程、锁、event事件机制的简单使用
Apr 27 Python
python程序封装为win32服务的方法
Mar 07 Python
python多线程调用exit无法退出的解决方法
Feb 18 Python
Python基于opencv调用摄像头获取个人图片的实现方法
Feb 21 Python
python中安装django模块的方法
Mar 12 Python
Python多线程实现支付模拟请求过程解析
Apr 21 Python
Python3 ffmpeg视频转换工具使用方法解析
Aug 10 Python
Python获取android设备cpu和内存占用情况
Nov 15 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 5.0对象模型深度探索之绑定
2006/09/05 PHP
DEDE采集大师官方留后门的删除办法
2011/01/08 PHP
使用php判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
2014/05/10 PHP
ThinkPHP CURD方法之where方法详解
2014/06/18 PHP
基于PHP的简单采集数据入库程序【续篇】
2014/07/30 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
2015/04/14 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
PHP Swoole异步Redis客户端实现方法示例
2019/10/24 PHP
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
2012/09/19 Javascript
使用按钮控制以何种方式打开新窗口的属性介绍
2012/12/17 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
2014/09/01 Javascript
swtich/if...else的替代语句
2015/08/16 Javascript
全面理解JavaScript中的继承(必看)
2016/06/16 Javascript
详解Angualr 组件间通信
2017/01/21 Javascript
Bootstrap table表格初始化表格数据的方法
2018/07/25 Javascript
微信内置浏览器图片查看器的代码实例
2019/10/08 Javascript
VUE兄弟组件传值操作实例分析
2019/10/26 Javascript
python实现文件快照加密保护的方法
2015/06/30 Python
分享Pycharm中一些不为人知的技巧
2018/04/03 Python
Pycharm运行加载文本出现错误的解决方法
2019/06/27 Python
keras的ImageDataGenerator和flow()的用法说明
2020/07/03 Python
几款好用的python工具库(小结)
2020/10/20 Python
CSS实现定位元素居中的方法
2015/06/23 HTML / CSS
canvas学习笔记之2d画布基础的实现
2019/02/21 HTML / CSS
世界上最好的帽子:Tilley
2016/11/27 全球购物
伦敦时尚生活的缩影:LN-CC
2017/01/24 全球购物
Miller Harris官网:英国小众香水品牌
2020/09/24 全球购物
医院检讨书范文
2014/02/01 职场文书
语文教学感言
2014/02/06 职场文书
企业安全生产演讲稿
2014/05/09 职场文书
介绍信范文大全
2015/05/07 职场文书
死亡诗社观后感
2015/06/05 职场文书
mysql幻读详解实例以及解决办法
2022/06/16 MySQL
Nginx如何配置根据路径转发详解
2022/07/23 Servers