Heim >Backend-Entwicklung >Python-Tutorial >Welche Python-Bibliotheken bieten plattformunabhängige SFTP-Unterstützung?

Welche Python-Bibliotheken bieten plattformunabhängige SFTP-Unterstützung?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-22 23:52:28215Durchsuche

Which Python Libraries Provide Platform-Independent SFTP Support?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn