Python 3 FTPLIB、NoneType错误与上传/下载

0 投票
2 回答
511 浏览
提问于 2025-04-17 10:33

在我的脚本中,我希望最后能够下载一个目录及其所有子目录中的所有文件……所以我在尝试使用FTPLIB。我想调用我的FTP服务器的目录并把它放到一个变量里,但我得到的是NONETYPE?!我可以连接到服务器,当我调用 directory = session.dir() 时,它在控制台上显示了一种矩阵风格的输出,里面有文件、读写权限、日期等等……但是当我尝试打印 Directory 时,我似乎只得到了“None”。我最初的想法是对目录中的每个项目进行下载,但我似乎无法获取到目录的列表!

directory = session.dir()
print(str(directory))

抱歉解释得这么长,而且可能有点琐碎,但我有点沮丧。

任何帮助都将非常感激!

-Clem

2 个回答

0

官方文档中,第一个例子就展示了你需要做的事情:使用.retrlines('LIST')来读取LIST命令的输出。

另一种方法是使用.nlst()

2

首先,看看这个链接:http://docs.python.org/library/ftplib.html#ftplib.FTP.nlst

然后,试试这个:

directory = session.nlst()
print(directory)

注意:你不需要写 print(str(...))。因为打印函数会自动帮你把内容变成字符串格式。

撰写回答