Вы можете использовать ftplib для полной поддержки FTP в Python. Однако предпочтительным способом получения списка каталогов является:
# File: ftplib-example-1.py
import ftplib
ftp = ftplib.FTP("www.python.org")
ftp.login("anonymous", "ftplib-example-1")
data = []
ftp.dir(data.append)
ftp.quit()
for line in data:
print "-", line
Что дает:
$ python ftplib-example-1.py
- total 34
- drwxrwxr-x 11 root 4127 512 Sep 14 14:18 .
- drwxrwxr-x 11 root 4127 512 Sep 14 14:18 ..
- drwxrwxr-x 2 root 4127 512 Sep 13 15:18 RCS
- lrwxrwxrwx 1 root bin 11 Jun 29 14:34 README -> welcome.msg
- drwxr-xr-x 3 root wheel 512 May 19 1998 bin
- drwxr-sr-x 3 root 1400 512 Jun 9 1997 dev
- drwxrwxr-- 2 root 4127 512 Feb 8 1998 dup
- drwxr-xr-x 3 root wheel 512 May 19 1998 etc
...
Я предполагаю, что идея состоит в анализе результатов, чтобы получить список каталогов. Однако это перечисление напрямую зависит от способа форматирования списка FTP-сервера. Было бы очень грязно писать код для этого, чтобы предвидеть все разные способы, которыми FTP-серверы могли форматировать этот список.
Есть ли переносимый способ получить массив, заполненный списком каталогов?
(В массиве должны быть только имена папок.)