Erstellen Sie fehlende Verzeichnisse in ftplib storbinary
War ich mit pycurl zum übertragen von Dateien über ftp in python. Ich könnte die fehlende Verzeichnisse automatisch auf meinem remote-server mit:
c.setopt(pycurl.FTP_CREATE_MISSING_DIRS, 1)
einige Gründe, ich muss wechseln Sie zu ftplib. Aber ich weiß nicht, wie dasselbe hier. Gibt es eine option zum hinzufügen zu storbinary Funktion zu tun? oder ich habe zum erstellen der Verzeichnisse manuell?
Du musst angemeldet sein, um einen Kommentar abzugeben.
FTP_CREATE_MISSING_DIRS ist eine curl-Betrieb (hier Hinzugefügt). Ich würde raten, dass Sie es manuell tun, mit ftplib, aber ich würde gerne als falsch erwiesen, anyone?
Ich würde etwas wie die folgende: (ungetestet und müssen zu fangen
ftplib.all_errors
)Oder Sie tun können
directory_exists
so aus: (ein bisschen schwerer zu Lesen?)makedirs
Methode in derftputil
- Paket statt.Ich weiß, es ist irgendwie eine alte post, aber ich brauchte nur diese und kam mit einer sehr einfachen Funktion. Ich bin neu in Python, also ich würde schätzen jedes feedback.
Beispiel:
dir
ist ein python-built-in möchten Sie vielleicht zu ändern, dass die variable name... auch Sie wollen zu fangen spezifische Ausnahmen, nicht alle von Ihnendir
variable.lower_case_with_underscores
vorzugsweise für die Funktion/variable Namen finden Sie unter pep8. Auch ist es besseros.path
Funktionen zum Bearbeiten von Pfaden, z.B.os.path.normpath(os.path.join(current_dir, '..'))
Habe ich versucht, indem Sie diese als Kommentar in der @Alex L 's Antwort, aber es war zu lang. Sie müssen absteigen rekursiv, wenn Wechsel-Verzeichnis, wenn Sie möchten, erstellen Verzeichnisse auf dem Weg. E. g.
Dieser code erstellt alle fehlenden Ordner im Pfad:
Dieser code prüft alle Verzeichnisse im Pfad, und erstellen Sie fehlt dirs
vor "FTP/for_Vadim/"
nach "FTP/for_Vadim/1/2/3/"
Ich bin mit so etwas wie diesem (ohne cwd):