python从ftp下载数据保存实例
时间:2022-10-07 13:32:17
《hadoop权威指南》的天气数据可以在ftp://ftp3.ncdc.noaa.gov/pub/data/noaa下载,在网上看到这个数据好开心,打开ftp发现个问题,呀呀,这么多文件啊,我一个个去点另存为,得点到啥时候啊,迅雷应该有批量下载,只是我没找到,估计是我浏览器把迅雷禁掉了,干脆自己用python写一个实现下载好了,网上早了一下,发现很简单啊
#!/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()
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
使用Python实现简单的服务器功能
PHP实现多文件上传的方法
php从文件夹随机读取文件的方法
python代码实现猜拳小游戏
![](https://img.aspxhome.com/file/2023/3/63593_0s.jpg)
Python使用内置函数setattr设置对象的属性值
CSS实例讲解:地图提示
![](https://img.aspxhome.com/file/uploadpic/20075/20075111742681.jpg)
企业网站FLASH引导页存在的意义
python 动态迁移solr数据过程解析
![](https://img.aspxhome.com/file/2023/6/68996_0s.png)
Pandas实现Dataframe的重排和旋转
![](https://img.aspxhome.com/file/2023/8/87878_0s.png)
以一段代码为实例快速入门Python2.7
jQuery实现同一点击,两个不同链接,指向两个不同的iframe
CSS 3入门
![](https://img.aspxhome.com/file/UploadPic/20094/19/e2009418204817-32s.jpg)
shell命令行,一键创建 python 模板文件脚本方法
MySQL配置文件my.cnf中文版
PDO::rollBack讲解
王孟友教你如何设计标志(LOGO)
Python利用Turtle绘制Technoblade的示例代码
![](https://img.aspxhome.com/file/2023/0/62260_0s.png)
python 实现对文件夹中的图像连续重命名方法
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
![](https://img.aspxhome.com/file/2023/1/63881_0s.png)