Verzeichnisübertragungen auf paramiko
Wie verwenden Sie paramiko komplette Verzeichnisse?
Ich versuche zu verwenden:
sftp.put("/Folder1","/Folder2")
ist mir dieser Fehler -
Error : [Errno 21] Is a directory
InformationsquelleAutor der Frage fixxxer | 2010-12-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie tun nur so als würden Sie lokal mit python (wenn du nicht mit shutils).
Kombinieren
os.walk()
mitsftp.mkdir()
undsftp.put()
. Sie können auch prüfen wollen jedem Datei-und Verzeichnis-mitos.path.islink()
je nachdem, ob Sie möchten, um zu beheben, symlinks oder nicht.InformationsquelleAutor der Antwort JimB
Können Sie eine Unterklasse paramiko.SFTPClient und fügen Sie die folgende Methode:
InformationsquelleAutor der Antwort skoll
Könnten Sie ersetzen
sftp = self.client.open_sftp()
mit paramiko ein und loszuwerdenlibcloud
hier.InformationsquelleAutor der Antwort Andrey Gerzhov
Ich glaube nicht, dass Sie das tun können. Schauen Sie die Dokumentation für
os.walk
und kopieren Sie jede Datei "manuell".InformationsquelleAutor der Antwort Martijn
Wirkt für mich etwas wie das zu tun, alle Ordner und Dateien auf dem remote-server.
InformationsquelleAutor der Antwort Zaffalon
Hier ist mein code:
InformationsquelleAutor der Antwort Alexandr Nikitin
Soweit ich weiß, Paramiko nicht unterstützt rekursive Datei-upload. Aber, ich habe gefunden ein Lösung für rekursive upload mit Paramiko hier. Folgt ein Auszug Ihrer rekursiven upload-Funktion:
Können Sie versuchen, verwenden Sie entweder Ihre Funktion
SCPClient.put
Aufruf der oben genannten Funktion für rekursive hochladen oder implementieren Sie es auf Ihrem eigenen.InformationsquelleAutor der Antwort Martin Kosek
Dies ist meine erste StackOverflow Antwort. Ich hatte eine Aufgabe heute, die ist ähnlich wie diese. So, ich habe versucht zu finden, einen direkten Weg zu kopieren ganze Ordner von windows auf linux mit python paramiko. Nach ein wenig Forschung, ich kam mit dieser Lösung, die funktioniert für kleinere Ordner mit Unterordnern und Dateien in es.
Diese Lösung macht erst die zip-Datei für den aktuellen Ordner (os.walk() ist sehr hilfreich hier), dann die Kopien an den Zielserver herunter und entpacken Sie es.
InformationsquelleAutor der Antwort Raj401