python ftpからデータをダウンロード

4292 ワード

「hadoop権威ガイド」の天気データはftp://ftp3.ncdc.noaa.gov/pub/data/noaaダウンロードして、ネット上でこのデータを见てとても楽しくて、ftpを开いて1つの问题を発见して、やれやれ、こんなに多くのファイル、私は1つ1つ行って别の名前を保存して、いつまで点をつけなければなりません
#!/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()