如何解决连接到 FTPS 服务器的 ftputil 中的 FTPHost.walk 不返回任何内容
我正在尝试使用 ftputil 的 walk
方法获取 FTP 站点目录下的文件和路径列表:
import ftputil
from ftplib import FTP_TLS
host = 'my_host'
user = 'my_user'
pw = 'my_pw'
folder = '/my/dir'
ftp = ftputil.FTPHost(host,user,pw,session_factory=FTP_TLS)
for root,dirs,files in ftp.walk(folder):
print(root,files)
但是,没有打印任何内容。 ftp.walk(folder)
确实返回一个生成器对象,但没有生成任何内容。我错过了什么?也许我没有正确处理 TLS 连接(虽然我没有收到任何错误)?
解决方法
我需要运行 prot_p
作为设置会话的一部分:
class TLSFTPSession(FTP_TLS):
def __init__(self,host,userid,password):
FTP_TLS.__init__(self)
#self.set_debuglevel(2)
self.connect(host,21)
self.login(userid,password)
self.prot_p()
ftp = ftputil.FTPHost(host,user,pw,session_factory=TLSFTPSession)
然后就可以了!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。