如何从FTP服务器的所有子目录下载特定的文件类型?

时间:2016-05-30 14:30:26

标签: python download ftp ftplib

我正在尝试从FTP主机.laz下载所有gis.arkansas.gov个文件(更多详情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文件)?

1 个答案:

答案 0 :(得分:0)

没有魔力。

你必须:

  • 进入子目录,
  • 逐个列出他们的内容,
  • 过滤所有.laz个文件,
  • 为每个人致电retrbinary