【问题标题】:Traversing an ftp folder with python用python遍历一个ftp文件夹
【发布时间】:2010-08-21 01:57:05
【问题描述】:

我需要编写一个遍历 FTP 服务器上的文件夹的 python 脚本。

ftp文件夹中的文件:

#get it
#do something untoward with it

欢迎提供片段和非车轮改造建议。

【问题讨论】:

    标签: python ftp download directory traversal


    【解决方案1】:

    ftputil 是您要查找的第三方模块:

    ftputil 是一个高级 FTP 客户端 Python 编程库 语。 ftputil 实现了一个虚拟 用于访问 FTP 服务器的文件系统, 也就是说,它可以生成类似文件的 远程文件的对象。图书馆 支持许多类似的功能 os、os.path 和 shutil 中的那些 模块。

    注意例如 sn-p here:

    # download some files from the login directory
    host = ftputil.FTPHost('ftp.domain.com', 'user', 'secret')
    names = host.listdir(host.curdir)
    for name in names:
        if host.path.isfile(name):
            host.download(name, name, 'b')        # remote, local, binary mode
    

    ftputil 是纯 Python,非常稳定,并且在 pypi 上非常受欢迎(用户对其评分为 9,我认为这是 pypi 规模的最大值)。有什么不喜欢的?-)

    【讨论】:

    • 谢谢,我一直在寻找类似的东西!
    • @Alex,如果你提到为什么使用ftputil 而不是stdlib 的ftplib 会很好(EG,易于使用)。
    • @Tshepang,我引用了关于它的部分 high-level,一个虚拟文件系统,并为远程文件——当然,这些是使其具有吸引力的核心特征。无论人们是否将这种吸引力视为专注于易用性、强大的功能或简洁性,这对我来说似乎完全次要——而且由于我的答案往往过长(如果有的话)(除非我特别注意),我通常尽量避免让我觉得“完全次要”的考虑和观察。
    • @Alex,理解你的意思,但我主要担心的是你的回答让它看起来 ftplib 甚至不存在,因为你甚至没有提到它。提及不需要比“stdlib 有 ftplib,而是使用 ftputil,因为它是高级别的......等等......”
    猜你喜欢
    • 1970-01-01
    • 2017-02-08
    • 1970-01-01
    • 1970-01-01
    • 2016-07-06
    • 2023-03-03
    • 1970-01-01
    • 2018-08-13
    • 1970-01-01
    相关资源
    最近更新 更多