【问题标题】:Creating list from retrlines in Python在 Python 中从 retrlines 创建列表
【发布时间】:2012-04-15 16:32:48
【问题描述】:

您将如何在 FTP 目录中创建条目列表?

这是我目前的代码:

import ftplib

files = []

my_ftp = ftplib.FTP(HOST)
my_ftp.login(USERNAME,PASSWORD)

line = my_ftp.retrlines("NLST",files.append(line))
my_ftp.quit()

错误表示变量 line 在定义之前就被使用了。

【问题讨论】:

  • 如果此处发布的答案之一解决了您的问题,请将其标记为已接受。

标签: python ftp ftplib


【解决方案1】:

您可能只想使用nlst

>>> my_ftp.nlst()
['pub', 'etc', 'ports']

【讨论】:

    【解决方案2】:

    对回调参数稍作改动,以下应该可以工作

    line = my_ftp.retrlines("NLST",files.append)
    

    【讨论】:

    • 文档说如果你不指定callbackretrlines 将调用print_line。那是行不通的。
    • 啊,files.appendlambda 还要好。为什么我没有想到呢? :-)
    • NLST 可能不值得这样做,因为正如 zigg 的回答所指出的那样,.nlst() 返回一个列表。不过,如果您想.retrlines('LIST -t') 或其他方式,这仍然值得做。
    猜你喜欢
    • 2020-11-02
    • 1970-01-01
    • 2015-10-31
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    相关资源
    最近更新 更多