python从ftp下载数据保存实例

 更新时间:2013年11月20日 10:20:13   作者:  
这篇文章主要介绍了python从ftp下载数据到本地保存的实例代码方法,大家参考使用吧

《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()

相关文章

  • 自学python求已知DNA模板的互补DNA序列

    自学python求已知DNA模板的互补DNA序列

    这篇文章主要为大家介绍了自学python求已知DNA模板的互补DNA序列的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Python 自动安装 Rising 杀毒软件

    Python 自动安装 Rising 杀毒软件

    平日里经常需要重新安装杀毒软件,我使用的是 Rising 该软件可以将升级后的新版本,压缩成一个安装包,当升级失败造成硬盘中的 Rising
    2009-04-04
  • Python实现为图片批量添加随机水印

    Python实现为图片批量添加随机水印

    这篇文章主要为大家详细介绍了如何使用Python实现为图片批量添加随机水印,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-11-11
  • Python3连接MySQL(pymysql)模拟转账实现代码

    Python3连接MySQL(pymysql)模拟转账实现代码

    这篇文章主要介绍了Python3连接MySQL(pymysql)模拟转账实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • Python中2种常用数据可视化库Bokeh和Altair使用示例详解

    Python中2种常用数据可视化库Bokeh和Altair使用示例详解

    本文对Python中两个常用的数据可视化库 Bokeh 和 Altair 进行了比较和探讨,通过对它们的特点、优缺点以及使用示例的详细分析,读者可以更好地了解这两个库的功能和适用场景,从而更好地选择合适的库来进行数据可视化工作,感兴趣的朋友跟随小编一起看看吧
    2024-04-04
  • Python 如何解决稀疏矩阵运算

    Python 如何解决稀疏矩阵运算

    这篇文章主要介绍了Python 解决稀疏矩阵运算的操作,具有很好的参考价值,希望对大家有所帮助。
    2021-05-05
  • Python计算一个给定时间点前一个月和后一个月第一天的方法

    Python计算一个给定时间点前一个月和后一个月第一天的方法

    这篇文章主要介绍了Python计算一个给定时间点前一个月和后一个月第一天的方法,涉及Python使用datetime模块计算日期时间的相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • Python中实现定时任务常见的几种方式

    Python中实现定时任务常见的几种方式

    在Python中,实现定时任务是一个常见的需求,无论是在自动化脚本、数据处理、系统监控还是其他许多应用场景中,Python提供了多种方法来实现定时任务,包括使用标准库、第三方库以及系统级别的工具,本文将详细介绍几种常见的Python定时任务实现方式
    2024-08-08
  • Python打包成exe的两种方法

    Python打包成exe的两种方法

    python的开发效率非常的高,但是当我们用python写一些小工具需要给用户使用的时候,用户大多数是没有安装python的,本文介绍两种python的打包方案,使用pyinstaller和nuitka打包成exe,文中通过代码示例介绍的非常详细,需要的朋友可以参考下
    2024-05-05
  • python rpyc客户端调用服务端方法的注意说明

    python rpyc客户端调用服务端方法的注意说明

    这篇文章主要介绍了python rpyc客户端调用服务端方法的注意说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06

最新评论