如何使用 python 从 FTP 服务器下载指定扩展类型的文件

How to download specified extension type of files from FTP server using python

我正在尝试使用 python 从我的 FTP 服务器下载每个 .txt 文件,但截至目前,我只有一个文件正在下载,该文件由其名称指定。有谁知道我可以更改它以从我的服务器下载所有 .txt 文件的方法吗?

    # connect to the FTP server
    ftp = FTP(FTP_HOST, FTP_USER, FTP_PASS)

    ftp.encoding = "utf-8"

    ftp.cwd('/files')
    ftp.retrlines('LIST')

    with open('test.txt', 'wb') as fp:
        ftp.retrbinary('RETR test.txt', fp.write)

    ftp.quit()

像这样的东西应该可以正常工作:

import fnmatch

with FTP(FTP_HOST,FTP_USER,FTP_PASS) as ftp:
        ftp.encoding = "utf-8"
        ftp.cwd('/files')
        for filename in ftp.nlst():
            if fnmatch.fnmatch(filename, '*.txt'):
                 with open(filename, 'wb') as fp:
                      ftp.retrbinary(f'RETR {filename}', fp.write)