python從ftp下載數(shù)據(jù)保存實(shí)例
《hadoop權(quán)威指南》的天氣數(shù)據(jù)可以在ftp://ftp3.ncdc.noaa.gov/pub/data/noaa下載,在網(wǎng)上看到這個(gè)數(shù)據(jù)好開(kāi)心,打開(kāi)ftp發(fā)現(xiàn)個(gè)問(wèn)題,呀呀,這么多文件啊,我一個(gè)個(gè)去點(diǎn)另存為,得點(diǎn)到啥時(shí)候啊,迅雷應(yīng)該有批量下載,只是我沒(méi)找到,估計(jì)是我瀏覽器把迅雷禁掉了,干脆自己用python寫(xiě)一個(gè)實(shí)現(xiàn)下載好了,網(wǎng)上早了一下,發(fā)現(xiàn)很簡(jiǎn)單啊
#!/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) #打開(kāi)調(diào)試級(jí)別2,顯示詳細(xì)信息
ftp.connect(ftp_server,21) #連接
ftp.login(username,password) #登錄,如果匿名登錄則用空串代替即可
return ftp
def downloadfile():
ftp = ftpconnect()
#print ftp.getwelcome() #顯示ftp服務(wù)器歡迎信息
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 #設(shè)置緩沖塊大小
fp = open(localpath,'wb') #以寫(xiě)模式在本地打開(kāi)文件
ftp.retrbinary('RETR ' + eachFile,fp.write,bufsize) #接收服務(wù)器上文件并寫(xiě)入本地文件
year=year+1
ftp.set_debuglevel(0) #關(guān)閉調(diào)試
fp.close()
ftp.quit() #退出ftp服務(wù)器
if __name__=="__main__":
downloadfile()
相關(guān)文章
tensorflow saver 保存和恢復(fù)指定 tensor的實(shí)例講解
今天小編就為大家分享一篇tensorflow saver 保存和恢復(fù)指定 tensor的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07pandas數(shù)據(jù)框,統(tǒng)計(jì)某列數(shù)據(jù)對(duì)應(yīng)的個(gè)數(shù)方法
下面小編就為大家分享一篇pandas數(shù)據(jù)框,統(tǒng)計(jì)某列數(shù)據(jù)對(duì)應(yīng)的個(gè)數(shù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04Perl中著名的Schwartzian轉(zhuǎn)換問(wèn)題解決實(shí)現(xiàn)
這篇文章主要介紹了Perl中著名的Schwartzian轉(zhuǎn)換問(wèn)題解決實(shí)現(xiàn),本文詳解講解了Schwartzian轉(zhuǎn)換涉及的排序問(wèn)題,并同時(shí)給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-06-06Python實(shí)現(xiàn)上課點(diǎn)名器系統(tǒng)
今天給大家分享一個(gè)讀者粉絲投稿的,關(guān)于上課點(diǎn)名的實(shí)戰(zhàn)案例,對(duì)Python上課點(diǎn)名器實(shí)現(xiàn)過(guò)程感興趣的朋友,一起來(lái)看看是如何實(shí)現(xiàn)的吧2021-10-10Python networkx包的實(shí)現(xiàn)
這篇文章主要介紹了Python networkx包的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02