Recorriendo el listado de FTP

Estoy intentando obtener el nombre de todos los directorios de un servidor FTP y almacenarlos en orden jerárquico en una lista multidimensional o dictado

Así, por ejemplo, un servidor que contiene la siguiente estructura:

/www/
    mysite.com
        images
            png
            jpg

Al final del guión, me daría una lista como

['/www/'
  ['mysite.com'
    ['images'
      ['png'],
      ['jpg']
    ]
  ]
]

He intentado usar una función recursiva así: def traverse (dir): FTP.dir (dir, traverse)

FTP.dir devuelve líneas en este formato:

drwxr-xr-x    5 leavesc1 leavesc1     4096 Nov 29 20:52 mysite.com

al hacer la línea [56:] solo me dará el nombre del directorio (mysite.com). Yo uso esto en la función recursiva.

Pero no puedo hacerlo funcionar. He intentado muchos enfoques diferentes y no puedo hacerlo funcionar. También hay muchos errores de FTP (o bien no se puede encontrar el directorio, que es un problema lógico, ya veces errores inesperados devueltos por el servidor, que no deja registro y no puedo depurar)

cuestión de fondo: ¿Cómo obtener una lista de directorios jerárquica de un servidor FTP?

Respuestas a la pregunta(5)

Su respuesta a la pregunta