FTP-Listung durchlaufen

Ich versuche, den Namen aller Verzeichnisse von einem FTP-Server abzurufen und in hierarchischer Reihenfolge in einer mehrdimensionalen Liste oder einem Diktat zu speichern

So zum Beispiel ein Server, der folgende Struktur enthält:

/www/
    mysite.com
        images
            png
            jpg

gib mir am Ende des Drehbuchs eine Liste wie

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

Ich habe versucht, eine rekursive Funktion wie folgt zu verwenden: def traverse (dir): FTP.dir (dir, traverse)

FTP.dir gibt Zeilen in folgendem Format zurück:

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

Wenn Sie also Zeile [56:] eingeben, erhalte ich nur den Verzeichnisnamen (mysite.com). Ich benutze dies in der rekursiven Funktion.

Aber ich kann es nicht zum Laufen bringen. Ich habe viele verschiedene Ansätze ausprobiert und kann es nicht zum Laufen bringen. Viele FTP-Fehler (entweder kann das Verzeichnis nicht gefunden werden - was ein logisches Problem ist und manchmal unerwartete Fehler, die vom Server zurückgegeben werden und kein Protokoll hinterlassen und ich kann nicht debuggen)

Fazit Frage: Wie erhalte ich eine hierarchische Verzeichnisliste von einem FTP-Server?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage