从FTP中的每个子文件夹读取filename并将它们保存在如何加快Python中的执行时间



我有一个Python代码的工作版本,它从每个子文件夹读取文件并将它们保存到一个列表中,然而,有相当多的文件,所以代码需要很长时间才能执行,是否有一种方法来优化下面的代码?

ftp_subdir_list = ['example_folder/2021/01/01', 'example_folder/2021/01/02', 'example_folder/2021/01/03',..................................., 'example_folder/2021/08/08', 'example_folder/2021/08/09']
ftp_file_list = []
for dir in ftp_subdir_list: 
# login into FTP
ftp = ftplib.FTP_TLS(host)
ftp.login(username, password)
ftp.cwd(dir)
file_list = ftp.nlst()
ftp_file_list.append(file_list)
print(ftp_file_list)

因为有相当多的文件夹,每个文件夹大约有20个文件,有没有一种方法来优化代码并增加执行时间?这里的for循环会减慢速度吗?谢谢。

将登录移出for循环—这可能是罪魁祸首之一。但是,像任何性能问题一样,度量时间占用的地方。有些东西是不能更改的,比如目录的时间,其中列出了其他可以更改的内容。

最新更新