转:Python 从FTP 下载数据的例子
《hadoop权威指南》的天气数据可以在ftp://ftp3.ncdc.noaa.gov/pub/data/noaa下载,在网上看到这个数据好开心,打开ftp发现个问题,呀呀,这么多文件啊,我一个个去点另存为,得点到啥时候啊,迅雷应该有批量下载,只是我没找到,估计是我浏览器把迅雷禁掉了,干脆自己用python写一个实现下载好了,网上早了一下,发现很简单啊
Python 从FTP 下载数据的例子:
#!/usr/bin/python
#-*- coding: utf-8 -*-
from ftplib import FTP
def ftpconnect():
ftp_server = 'ftp3.ncdc.noaa.gov'
username = ''
password = ''
ftp=FTP()
ftp.set_debuglevel(2) #打开调试级别2,显示详细信息
ftp.connect(ftp_server,21) #连接
ftp.login(username,password) #登录,如果匿名登录则用空串代替即可
return ftp
def downloadfile():
ftp = ftpconnect()
#print ftp.getwelcome() #显示ftp服务器欢迎信息
datapath = "/pub/data/noaa/"
year=1911
while year<=1930:
path=datapath+str(year)
li = ftp.nlst(path)
for eachFile in li:
localpaths = eachFile.split("/")
localpath = localpaths[len(localpaths)-1]
localpath='weatherdata/'+str(year)+'--'+localpath#把日期放在最前面,方便排序
bufsize = 1024 #设置缓冲块大小
fp = open(localpath,'wb') #以写模式在本地打开文件
ftp.retrbinary('RETR ' + eachFile,fp.write,bufsize) #接收服务器上文件并写入本地文件
year=year+1
ftp.set_debuglevel(0) #关闭调试
fp.close()
ftp.quit() #退出ftp服务器
if __name__=="__main__":
downloadfile()
转:Python 从FTP 下载数据的例子的更多相关文章
- python从FTP下载文件
#!/usr/bin/python # -*- coding: utf-8 -*- """ FTP常用操作 """ from ftplib ...
- Python之FTP多线程下载文件之多线程分块下载文件
Python之FTP多线程下载文件之多线程分块下载文件 Python中的ftplib模块用于对FTP的相关操作,常见的如下载,上传等.使用python从FTP下载较大的文件时,往往比较耗时,如何提高从 ...
- windows使用python调用wget批处理下载数据
wget是linux/unix下通常使用的下载http/ftp的数据,使用非常方便,其实wget目前经过编译,也可在windows下使用.最近需要下载大量的遥感数据,使用了python写了批处理下载程 ...
- 使用python操作FTP上传和下载
函数释义 Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件,函数列举如下 ftp登陆连接 from ftplib import F ...
- Python之FTP多线程下载文件之分块多线程文件合并
Python之FTP多线程下载文件之分块多线程文件合并 欢迎大家阅读Python之FTP多线程下载系列之二:Python之FTP多线程下载文件之分块多线程文件合并,本系列的第一篇:Python之FTP ...
- C#从基于FTPS的FTP server下载数据 (FtpWebRequest 的使用)SSL 加密
FTPS,亦或是FTPES, 是FTP协议的一种扩展,用于对TLS和SSL协议的支持. 本文讲述了如何从一个基于FTPS的Server中下载数据的实例. 任何地方,如有纰漏,欢迎诸位道友指教. ...
- Python 项目实践二(下载数据)第三篇
接着上节继续学习,在本章中,你将从网上下载数据,并对这些数据进行可视化.网上的数据多得难以置信,且大多未经过仔细检查.如果能够对这些数据进行分析,你就能发现别人没有发现的规律和关联.我们将访问并可视化 ...
- Python(x,y) 的 FTP 下载地址
因为 Python(x,y) 软件包托管在 Google code 上 https://code.google.com/p/pythonxy/,所以国内比较难下载. 这里推荐一个 FTP 下载地址:f ...
- Python 基于Python实现Ftp文件上传,下载
基于Python实现Ftp文件上传,下载 by:授客 QQ:1033553122 测试环境: Ftp客户端:Windows平台 Ftp服务器:Linux平台 Python版本:Python 2.7 ...
随机推荐
- 你了解for循环吗
大家学什么语言都会学for循环 可是你真的会用吗 通常写法都是 var arr=arr[1,2,3,4]; for(var i=0;i<arr.length;i++){ console.log( ...
- php-curl小记
用jQuery: $.ajax({ url:url, type:"POST", data:data, contentType:"application/json; cha ...
- Struts2 JSONObject的使用
一.jar包 使用之前必须引入所须要的jar包,这里包含Struts2和JSONObject各自所必须的 Struts2: commons-fileupload-1.2.1.jarcommons-io ...
- 主动找智能钥匙 PKE取代RKE是大势所趋
http://taobao.autos.cn.yahoo.com/ypen/20111128/725214.html 近日,在车友论坛上的一个热帖<悲喜交加:1分钟就能复制汽车遥控器?>在 ...
- USB Mass Storage大容量存储 The Thirteen Class章节的理解
http://blog.csdn.net/xgbing/article/details/7002558 USB Mass Storage 6.7 The Thirteen Class章节的理解 Cas ...
- MVC单元测试,使用Repository模式、Ninject、Moq
本篇使用Repository设计MVC项目,使用Ninject作为DI容器,借助Moq进行单元测试. 模型和EF上下文 模型很简单: public class Foo { public int Id ...
- 为免费app嵌入Admob广告
为免费app嵌入Admob广告,进而获得广告收入. 1.http://www.admob.com/注册一个帐号, 添加Add Mobile Site/app,输入相关信息后,提交完成, 下载Andro ...
- andriod studio 获得程序名
getResources().getString(R.string.app_name)
- Android NDK开发篇(五):Java与原生代码通信(数据操作)
尽管说使用NDK能够提高Android程序的运行效率,可是调用起来还是略微有点麻烦.NDK能够直接使用Java的原生数据类型,而引用类型,由于Java的引用类型的实如今NDK被屏蔽了,所以在NDK使用 ...
- UVA 10026 Shoemaker's Problem
Shoemaker's Problem Shoemaker has N jobs (orders from customers) which he must make. Shoemaker can w ...