Heim >Backend-Entwicklung >Python-Tutorial >Welche Python-Bibliotheken bieten plattformunabhängige SFTP-Unterstützung?
Plattformunabhängiges SFTP mit Python
Sichere Dateiübertragung (SFTP) ist für den sicheren Datenaustausch unerlässlich, aber es müssen Python-Bibliotheken gefunden werden, die dies unterstützen kann eine Herausforderung sein. Wenn die harte Codierung von Benutzeranmeldeinformationen und Remotestandorten keine Option ist, ist die Suche nach alternativen Lösungen von entscheidender Bedeutung.
Paramiko ist eine beliebte Python-Bibliothek für SFTP. Seine Syntax ist relativ einfach, wie unten gezeigt:
<code class="python">import paramiko host = "THEHOST.com" port = 22 transport = paramiko.Transport((host, port)) password = "THEPASSWORD" username = "THEUSERNAME" transport.connect(username=username, password=password) sftp = paramiko.SFTPClient.from_transport(transport) import sys path = './THETARGETDIRECTORY/' + sys.argv[1] localpath = sys.argv[1] sftp.put(localpath, path) sftp.close() transport.close() print('Upload done.')</code>
Dieser Code lädt eine Datei auf einen Remote-SFTP-Server hoch, wobei Host, Port, Benutzername und Passwort fest codiert werden. Es ist jedoch wichtig zu beachten, dass das Festcodieren von Anmeldeinformationen nicht als Best Practice gilt und nach Möglichkeit vermieden werden sollte.
Twisted ist eine weitere Option für SFTP in Python. Es handelt sich um eine komplexere Bibliothek, die jedoch ein breiteres Spektrum an Funktionen bietet. Hier ist ein Beispiel für die Verwendung von Twisted für SFTP:
<code class="python">from twisted.conch.ssh import userauth, connection, channel, sftp password = "THEPASSWORD" username = "THEUSERNAME" transport = connection.SSHClientFactory().buildProtocol('localhost', None) transport.requestService(userauth.SSHUserAuthClientPassword(username, password)) sftp = channel.SSHChannel(transport) sftp.request_sftp() import sys path = './THETARGETDIRECTORY/' + sys.argv[1] localpath = sys.argv[1] sftp.sendFile(localpath, path) sftp.close() transport.loseConnection() print('Upload done.')</code>
Sowohl Paramiko als auch Twisted können plattformunabhängige SFTP-Verbindungen in Python ermöglichen. Paramiko ist einfacher zu verwenden, während Twisted erweiterte Funktionen bietet. Die Wahl zwischen beiden hängt von den spezifischen Anforderungen des Projekts ab.
Das obige ist der detaillierte Inhalt vonWelche Python-Bibliotheken bieten plattformunabhängige SFTP-Unterstützung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!