【问题标题】:How to download a specific file type from all subdirectories of an FTP server?如何从 FTP 服务器的所有子目录下载特定文件类型?
【发布时间】:2016-05-30 14:30:26
【问题描述】:

我正在尝试从 FTP 主机 gis.arkansas.gov 下载所有 .laz 文件(更多详细信息 here)。查看ftplib文档,发现可以列出FTP服务器中的所有目录:

from ftplib import FTP
ftp = FTP('gis.arkansas.gov')
ftp.login()
ftp.cwd('Elevation')
ftp.retrlines('LIST')

产生以下结果:

>>> ftp.retrlines('LIST')
drwxr-xr-x 1 ftp ftp              0 May 30 09:24 AGFC_RAW
drwxr-xr-x 1 ftp ftp              0 May 30 09:24 AR State Parks
drwxr-xr-x 1 ftp ftp              0 May 30 09:24 Bayou Meto Lidar Phase I
drwxr-xr-x 1 ftp ftp              0 May 30 09:24 Bayou_Meto_Watershed
drwxr-xr-x 1 ftp ftp              0 May 30 09:24 Beaver_Lake
drwxr-xr-x 1 ftp ftp              0 May 30 09:24 Beaver_Tailwater
drwxr-xr-x 1 ftp ftp              0 May 30 09:24 Black_River
drwxr-xr-x 1 ftp ftp              0 May 30 09:24 Blue_Mountain
# ... And so on ...

如何从这些目录中的每个目录下载所有扩展名为 .laz 的文件(某些目录不包含 .laz 文件)?

【问题讨论】:

    标签: python download ftp ftplib


    【解决方案1】:

    没有魔法。

    你必须:

    • 递归到子目录,
    • 一一列出其内容,
    • 过滤所有.laz文件,
    • 请致电retrbinary

    【讨论】:

      猜你喜欢
      • 2014-06-02
      • 1970-01-01
      • 2011-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多