从ftp目录下载以特定字符串开头的所有文件

2024-04-26 00:36:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从ftp目录下载以某个字母或字符串开头的所有文件(例如,字母“G”或字符串“GL”),我知道如何在glob中进行下载,但不是从ftp目录


1条回答
网友
1楼 · 发布于 2024-04-26 00:36:42

不确定您被卡在哪里,但您应该能够获得带有nlst的目录列表,并根据需要对其进行筛选:

filelist = [fname for fname in f.nlst() if fname[:2] == 'GL']

下面是一个完整的示例:

import os.path, ftplib
f = ftplib.FTP('some.server.somewhere')
f.login('user', 'pass')
f.cwd('/some/dir')
output_dir = "/some/output/dir"
for fname in [i for i in f.nlst() if i[:2] == 'GL']:
    with open(os.path.join(output_dir, fname), "wb") as fout:
        f.retrbinary("RETR {0}".format(fname), fout.write)

相关问题 更多 >