Pythonを使用してファイルをsftpしようとしていますが、コードはインタラクティブシェルでうまく機能し、一度に貼り付けることもできます。
ファイルをインポートしようとすると(コンパイルするためだけに)、例外や明らかなエラーなしでコードがハングします。
コードをコンパイルするにはどうすればよいですか、または他の方法でsftpを実行するコードが機能している人はいますか?
このコードは、ssh.connect()ステートメントですぐにハングします。
"" "ProblemDemo.py paramikoデモファイルから切り刻まれました。 このコードはシェルで機能しますが、インポートしようとするとハングします。 "" " 時間からインポートスリープ OSのインポート paramikoをインポートします sOutputFilename = "redacted.htm"#-ペイロードファイル hostname = "redacted.com" #### - 警告!埋め込まれたパスワード!できるだけ早く削除します。 sUsername="編集済み" sPassword="編集済み" sTargetDir="編集済み" #-ホストキーがわかっている場合は、それを取得します。 hostkeytype=なし ホストキー=なし host_keys = {} 試す: host_keys = paramiko.util.load_host_keys(os.path.expanduser('〜/ .ssh / known_hosts')) IOErrorを除く: 試す: #Windowsは〜/ .ssh /という名前のフォルダを持つことができないため、〜/ssh/も試してください host_keys = paramiko.util.load_host_keys(os.path.expanduser('〜/ ssh / known_hosts')) IOErrorを除く: print'***ホストキーファイルを開くことができません' host_keys = {} host_keys.has_key(hostname)の場合: hostkeytype = host_keys [hostname] .keys()[0] hostkey = host_keys [hostname] [hostkeytype] print'タイプ%sのホストキーを使用'%hostkeytype ssh = paramiko.Transport((hostname、22)) ssh.connect(username = sUsername、password = sPassword、hostkey = hostname) sftp = paramiko.SFTPClient.from_transport(ssh) sftp.chdir(sTargetDir) sftp.put(sOutputFilename、sOutputFilename) ssh.close()