Python 3 FTPLIB、非类型错误和上载/下载
在我的脚本中,我希望最终能够下载一个目录和所有子目录中的所有文件。。。所以我正在尝试FTPLIB。我试图调用ftp服务器的dir并将其放入一个变量中,但我得到了NONETYPE?!我可以连接到服务器,当我调用directory=session.dir()时,它会在控制台中显示一种矩阵样式的输出,其中包含文件、读/写perm、日期等。。。。但当我试图打印目录时,我得到的似乎是“无”。我最初的想法是将目录中的每个项目下载到我的计算机上,但我似乎无法获得目录的列表Python 3 FTPLIB、非类型错误和上载/下载,python,list,file-upload,download,ftplib,Python,List,File Upload,Download,Ftplib,在我的脚本中,我希望最终能够下载一个目录和所有子目录中的所有文件。。。所以我正在尝试FTPLIB。我试图调用ftp服务器的dir并将其放入一个变量中,但我得到了NONETYPE?!我可以连接到服务器,当我调用directory=session.dir()时,它会在控制台中显示一种矩阵样式的输出,其中包含文件、读/写perm、日期等。。。。但当我试图打印目录时,我得到的似乎是“无”。我最初的想法是将目录中的每个项目下载到我的计算机上,但我似乎无法获得目录的列表 directory = sessio
directory = session.dir()
print(str(directory))
对不起,我的解释太长了,而且可能很琐碎,但我已经变得有点太沮丧了
任何帮助都将不胜感激
-克莱姆首先,读一下这个
然后,试试这个:
directory = session.nlst()
print(directory)
注意。
您不需要执行打印(str(…)
。打印函数为您获取字符串表示形式。在中,第一个示例显示了如何执行您需要的操作:使用.retrlines('LIST')
读取LIST
命令的输出
另一种方法是使用
.nlst()
“生成由LIST命令返回的目录列表,将其打印到标准输出……此方法不返回任何”。这是它为dir()
所说的。它不返回值。它会打印一些东西。好的,谢谢你在他们的文档中指出“生产”部分。我现在已经解决了这个问题。:)@好吧,很奇怪,它以前没用过,但非常感谢S.洛特!我希望我能变得更好:)我刚刚试过,我得到了“”,而且我已经广泛阅读了这些文档,但仍然没有找到答案。另外,我刚刚尝试了session.retrlines('list'),但没有效果。对不起,我对编程还不太熟悉。“奇怪的是,这以前不起作用……现在起作用了……嗯。也许只是一个缺陷?”也许只是一个缺陷?“?你是说Python的行为是随机的吗?这不太可能。更可能的是你忘记了()。是的,我已经读了好几遍了,只是我似乎无法让我的程序获得每个文件名/目录,我正在试图找到一种循环下载的方法…”/