我有一个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循环—这可能是罪魁祸首之一。但是,像任何性能问题一样,度量时间占用的地方。有些东西是不能更改的,比如目录的时间,其中列出了其他可以更改的内容。