python從ftp下載數(shù)據(jù)保存實例
《hadoop權(quán)威指南》的天氣數(shù)據(jù)可以在ftp://ftp3.ncdc.noaa.gov/pub/data/noaa下載,在網(wǎng)上看到這個數(shù)據(jù)好開心,打開ftp發(fā)現(xiàn)個問題,呀呀,這么多文件啊,我一個個去點另存為,得點到啥時候啊,迅雷應(yīng)該有批量下載,只是我沒找到,估計是我瀏覽器把迅雷禁掉了,干脆自己用python寫一個實現(xiàn)下載好了,網(wǎng)上早了一下,發(fā)現(xià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) #打開調(diào)試級別2,顯示詳細信息
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') #以寫模式在本地打開文件
ftp.retrbinary('RETR ' + eachFile,fp.write,bufsize) #接收服務(wù)器上文件并寫入本地文件
year=year+1
ftp.set_debuglevel(0) #關(guān)閉調(diào)試
fp.close()
ftp.quit() #退出ftp服務(wù)器
if __name__=="__main__":
downloadfile()
相關(guān)文章
Python3連接MySQL(pymysql)模擬轉(zhuǎn)賬實現(xiàn)代碼
這篇文章主要介紹了Python3連接MySQL(pymysql)模擬轉(zhuǎn)賬實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-05-05
Python中2種常用數(shù)據(jù)可視化庫Bokeh和Altair使用示例詳解
本文對Python中兩個常用的數(shù)據(jù)可視化庫?Bokeh?和?Altair?進行了比較和探討,通過對它們的特點、優(yōu)缺點以及使用示例的詳細分析,讀者可以更好地了解這兩個庫的功能和適用場景,從而更好地選擇合適的庫來進行數(shù)據(jù)可視化工作,感興趣的朋友跟隨小編一起看看吧2024-04-04
Python計算一個給定時間點前一個月和后一個月第一天的方法
這篇文章主要介紹了Python計算一個給定時間點前一個月和后一個月第一天的方法,涉及Python使用datetime模塊計算日期時間的相關(guān)操作技巧,需要的朋友可以參考下2018-05-05
Python中實現(xiàn)定時任務(wù)常見的幾種方式
在Python中,實現(xiàn)定時任務(wù)是一個常見的需求,無論是在自動化腳本、數(shù)據(jù)處理、系統(tǒng)監(jiān)控還是其他許多應(yīng)用場景中,Python提供了多種方法來實現(xiàn)定時任務(wù),包括使用標(biāo)準(zhǔn)庫、第三方庫以及系統(tǒng)級別的工具,本文將詳細介紹幾種常見的Python定時任務(wù)實現(xiàn)方式2024-08-08
python?rpyc客戶端調(diào)用服務(wù)端方法的注意說明
這篇文章主要介紹了python?rpyc客戶端調(diào)用服務(wù)端方法的注意說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06

