尝试使用
ftputil
连接 ftp 主机时出现以下错误:ftputil.error.PermanentError: 530 Please login with USER and PASS
。但是,当我连接 ftplib
时,我没有收到此错误。我想使用 ftputil
来实现它的一些附加功能。
import ftputil
import ftplib
host = 'ftp.swpc.noaa.gov'
user = ''
pw = ''
# works
ftp_host = ftplib.FTP(host, user, pw)
ftp_host.login()
# does not work
ftp_host = ftputil.FTPHost(host, user, pw)
# with ftputil.FTPHost(host, user, pw) as ftphost:
# ftphost.listdir(ftphost.curdir)
ftplib 将空白用户名转换为“匿名”。显然,ftputil 没有。通过更改用户名,就可以了
import ftputil
host = 'ftp.swpc.noaa.gov'
user = 'anonymous'
pw = ''
with ftputil.FTPHost(host, user, pw) as ftphost:
print(ftphost.listdir(ftphost.curdir))
输出:
['pub']