【发布时间】:2017-05-03 12:16:10
【问题描述】:
Python documentation for FTP.mlsd() 说它返回一个生成元组的生成器对象。运行以下代码后,我得到了该对象的地址。在这一点上,我假设我已经成功地从我的服务器接收到列表,因为它没有弹出任何错误(如果假设错误,请纠正我)。
this question 的答案建议我应该使用next() 来获取对象中的值。但是,这样做会显示错误消息ftplib.error_perm: 501 Option not understood.
代码
from ftplib import FTP
ftp = FTP('192.168.0.104')
ftp.login('testing','testing')
ftp.cwd('FTP_Test_Site')
temp = ftp.mlsd(path="", facts=["type", "size", "perm"])
print(temp)
print(next(temp))
ftp.quit()
输出
<generator object FTP.mlsd at 0x7f46f9438518>
Traceback (most recent call last):
File "BackUp.py", line 18, in <module>
print(next(temp))
File "/usr/lib/python3.5/ftplib.py", line 589, in mlsd
self.sendcmd("OPTS MLST " + ";".join(facts) + ";")
File "/usr/lib/python3.5/ftplib.py", line 272, in sendcmd
return self.getresp()
File "/usr/lib/python3.5/ftplib.py", line 245, in getresp
raise error_perm(resp)
ftplib.error_perm: 501 Option not understood.
知道我哪里出错了吗?
【问题讨论】: