Python を使用したプラットフォームに依存しない SFTP
安全なデータ交換には安全なファイル転送 (SFTP) が不可欠ですが、それをサポートする Python ライブラリを見つける必要があります挑戦になる可能性があります。ユーザー資格情報やリモートの場所をハードコーディングすることができない場合は、代替ソリューションを検討することが重要です。
Paramiko は、SFTP 用の人気のある Python ライブラリです。以下に示すように、その構文は比較的単純です。
<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>
このコードは、ハードコーディングされたホスト、ポート、ユーザー名、およびパスワードを使用して、リモート SFTP サーバーにファイルをアップロードします。ただし、資格情報のハードコーディングはベスト プラクティスとみなされないため、可能な限り避けるべきであることに注意することが重要です。
ツイストは、Python の SFTP のもう 1 つのオプションです。これはより複雑なライブラリですが、より幅広い機能を提供します。 SFTP に Twisted を使用する方法の例を次に示します。
<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>
Paramiko と Twisted はどちらも、Python でプラットフォームに依存しない SFTP 接続を容易にすることができます。 Paramiko は使い方が簡単ですが、Twisted はより高度な機能を提供します。この 2 つのどちらを選択するかは、プロジェクトの特定の要件によって異なります。
以上がプラットフォームに依存しない SFTP サポートを提供する Python ライブラリはどれですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。