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

Read filename from every subfolder in FTP and save them in a list - how to speed up execution time in 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 循环之外 - 这可能是罪魁祸首之一。但是,就像占用时间的任何性能问题度量一样。有些事情您无法更改,例如目录列表的时间,但您可以更改。