指定されたディレクトリにファイルをアップロードするには、Linuxのパイソン

今日はWindows環境では、小さな需要を受けただけで、その後、私はあなたが書き込みのpythonしようとするために使用できることを、一瞬考えて、指定したディレクトリにlinux位置に圧縮ファイルをアップロードし、それらを抽出したいです。

環境:
1.linuxオペレーティングシステムA
2.windows環境のインストールPython3.x
3.Pycharm IDE環境
我々はparamikoモジュールに慣れていない場合、あなたはヘクタール知ってもらうことができます。

ファイルのアップロードは、SSH、SFTPトランスポート・プロトコル・セッションによると、SFTPクライアントオブジェクトなどのアップロード、ダウンロード、権限、地位などのリモートファイル操作を、SFTPCLient、SFTPCLientを使用しました。

コードは以下の通りです

1  !は/ usr / binに/ PythonのENV 
2  インポートparamiko
 。3  インポートSYS
 。4  
。5 sys.argvののSRC_FILEに= [1 ]ソースファイル#windowsで
 6 dsc_path = sys.argvの[2 #linuxオン]ディレクトリパス
 。7 key_path = 'プライベートパス' 
。8パスワード= 'パスワード' 
。9 SSH = paramiko.SSHClient()SSHは、#オブジェクトを作成します
 10 PRIVATE_KEY = paramiko.RSAKey.from_private_key_file(key_path)#秘密鍵を指定します
 。11  ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#をホストファイルの接続を許可されていないknow_hosts
 12は、交通paramiko.Transport =((' IP '、ポート番号))
 13である transport.connect(ユーザ名= ' ルート'、= PKEY #サーバに接続PRIVATE_KEY)
 14  
15  DEF アップロード():
 16      SFTP = paramiko.SFTPClient.from_transport(トランスポート)
 17。     トライ18である          SFTP。 PUT(、dsc_path +のSRC_FILEで' / ' + のSRC_FILEで)
 19。         印刷' 成功したアップロード' 20は     除く例外としてE:
 21は、         印刷(E)
 22がある     (ssh.close)
23  
24  
25  DEF 解凍():
 26      ssh._transport = 運搬
 27      STDIN、STDOUT、標準エラー= ssh.exec_command(' CD ' + dsc_path + ' && ' + ' 解凍-o ' + SRC_FILE)
 28      結果= stdout.read( ).decode()
 29      の場合(result.strip)=!'' 30          プリント' 解压成功' 31      、他32          印刷"エラーメッセージ' + stderr.read()デコード())。
 33      ssh.close()
 34  
35  
36  なら __name__ == ' __main__ ' 37      アップロード()
 38      解凍()

テストスクリプトは、個別に実行するかPycharmは、以下のpycharmテストでcmdで、/ tmpディレクトリのLinuxサーバや解凍にapps.zipファイルをアップロードすることができます

1 Pythonのupload_file.py apps.zip / tmpの
 2  正常にアップロード
 3解凍成功

次に、ファイル圧縮・解凍があるかどうかを確認するために/ tmpディレクトリのLinuxサーバーにログイン

 

 概要:これは単なるアップロード解凍、してください展示会です。

 




 

おすすめ

転載: www.cnblogs.com/summer-time/p/12142231.html