我想检查我的 FTP 服务器中是否存在文件。我有这个功能:
from ftplib import FTP_TLS
from configparser import ConfigParser
def check_ftp_file_exists(filename):
config = ConfigParser()
config.read("config.ini")
user = config["ftp"]["user"]
passwd = config["ftp"]["password"]
ftp = config["ftp"]["host"]
with FTP_TLS(ftp, user, passwd) as ftp:
file_list = ftp.nlst()
if filename in file_list:
return True
else:
return False
此函数返回错误:
ftplib.error_perm: 522 Data connections must be encrypted.
。在这里(How to upload a file on FTPS server using m2crypto)我发现我应该使用ftp.prot_p()
。但是这个功能:
from ftplib import FTP_TLS
from configparser import ConfigParser
def check_ftp_file_exists(filename):
config = ConfigParser()
config.read("config.ini")
user = config["ftp"]["user"]
passwd = config["ftp"]["password"]
ftp = config["ftp"]["host"]
with FTP_TLS(ftp, user, passwd) as ftp:
ftp.prot_p()
file_list = ftp.nlst()
if filename in file_list:
return True
else:
return False
返回另一个错误
ftplib.error_perm: 522 SSL connection failed: session reuse required
。请问我该如何解决?