Usando el ftplib de Python para obtener una lista de directorios, de manera portátil

Puedes usar ftplib para soporte completo de FTP en Python. Sin embargo, la forma preferida de obtener una lista de directorios es:

# 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

Cuyos rendimientos:

$ 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
...

Supongo que la idea es analizar los resultados para obtener el listado del directorio. Sin embargo, esta lista depende directamente de la forma en que el servidor FTP formatee la lista. Sería muy complicado escribir código para que tenga que anticipar todas las formas en que los servidores FTP pueden formatear esta lista.

¿Hay una forma portátil de llenar una matriz con la lista de directorios?

(La matriz solo debe tener los nombres de las carpetas.)