博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 从ftp下载数据
阅读量:5050 次
发布时间:2019-06-12

本文共 1272 字,大约阅读时间需要 4 分钟。

  《hadoop权威指南》的天气数据可以在ftp://ftp3.ncdc.noaa.gov/pub/data/noaa下载,在网上看到这个数据好开心,打开ftp发现个问题,呀呀,这么多文件啊,我一个个去点另存为,得点到啥时候啊,迅雷应该有批量下载,只是我没找到,估计是我浏览器把迅雷禁掉了,干脆自己用python写一个实现下载好了,网上早了一下,发现很简单啊

#!/usr/bin/python#-*- coding: utf-8 -*-from ftplib import FTPdef 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()

 

转载于:https://www.cnblogs.com/fengfenggirl/archive/2013/04/04/2998997.html

你可能感兴趣的文章
在.net中为什么第一次执行会慢?
查看>>
spring事务详解
查看>>
B-树和B+树的应用
查看>>
杭电2044
查看>>
java.lang.IllegalArgumentException: argument type mismatch
查看>>
Python 配置文件 ConfigParser 模块
查看>>
单片机结构体内存的分配
查看>>
如何修复“网络路径”,错误代码0x80070035
查看>>
3.结构变量成员的表示方法
查看>>
只能打开一个实例
查看>>
数组的map方法
查看>>
python的一些基础知识
查看>>
Android Studio导入第三方类库的方法(转)
查看>>
JsonModel的使用(ios程序员必须熟练掌握,太激动了)
查看>>
递归与循环的区别
查看>>
【USACO】Watering Hole 2008 Oct
查看>>
HTML5 中websocket长连接的具体实现方法
查看>>
面向对象
查看>>
c# 6.0 新增功能
查看>>
CF1009F Dominant Indices——长链剖分优化DP
查看>>