我的 Centos 服务器上有 pyftpdlib 0.7.0,我在客户端上使用 ftplib
当我尝试运行此命令时,我收到此错误
客户端操作系统:Windows 7
python V:2.7
服务器操作系统:CentOs
我的鳕鱼:
from ftplib import FTP
ftp = FTP('xxx.xxx.xxx.xxx')
ftp.login(user='xxx', passwd='xxx' )
ls = []
ftp.retrlines('RETR 2.jpg', callback =ls.append)
print ls
和错误:
Traceback (most recent call last):
File "E:\py\ftp test\ftpTest.py", line 7, in <module>
ftp.retrlines('RETR 2.jpg', callback =ls.append)
File "C:\Python27\lib\ftplib.py", line 422, in retrlines
conn = self.transfercmd(cmd)
File "C:\Python27\lib\ftplib.py", line 361, in transfercmd
return self.ntransfercmd(cmd, rest)[0]
File "C:\Python27\lib\ftplib.py", line 330, in ntransfercmd
resp = self.sendcmd(cmd)
File "C:\Python27\lib\ftplib.py", line 244, in sendcmd
return self.getresp()
File "C:\Python27\lib\ftplib.py", line 220, in getresp
raise error_proto, resp
error_proto:
最佳答案
不确定这是否有帮助,但这是我编写文件检索行的方式:
gfile = open(filename, 'wb')
ftp.retrbinary('RETR %s' % filename, gfile.write)
gfile.close()
我有一段时间遇到过这样的问题,但它与你的不完全相同,对我来说,解决方法是更改我的 ftp.retr 行的格式,RETR 需要单独位于“”中,并且文件名分开。你的显然使用了一个列表,但这就是我在我的程序中使用它的方式。
关于python - ftplib retrlines error_proto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12723907/