長い時間のためのpythonを学ぶが、仕事で使用した場合、私は実行するのpythonにパラメータを渡す方法がわからないことがわかったので、この2日間のpythonの引数を研究するために実行し、外部のpythonにパラメータを渡す方法
1.まず、外部の引数のパラメータの受け渡しとは対照的に、どのように関数呼び出し命令の実行を、見るためにPythonの関数呼び出し内の伝統的な方法を使用します
輸入paramiko 輸入のsys インポートOS ホスト名 = ' 192.168.1.202 ' ポート = 22 名 = ' ルート' パスワード = '123456 ' DEF シェル(): #内部コマンド実行方法の導入 commdsを() #オープンログ paramiko.util.log_to_file(' paramiko.log ' ) S = paramiko.SSHClient() #のs.load_host_keys() #NA公共着陸 s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) s.connect(ホスト名、ポート、ユーザ名、パスワード) #の印刷(commds()) のための I で commds()rstrip()スプリット(.. ' ' ):# はifconfigコマンドとLS得commds内部を循環する、文字列が最初に取得した文字列で、#分割するrstripを使用して、特許セグメンテーションは、それらのプログラム、リサイクルリストプリント(I)#1 印刷循環良好なリストLSは、ifconfig STDIN、STDOUT、標準エラー= s.exec_command(I) #それぞれ2つのコマンドを実行プリント(stdout.read()。デコード()) S。CLOSE() DEF commds(): #の塗りつぶしコマンド COM = ' LS ' + ' ' + ' ifconfigコマンド' #の戻り呼び出すコマンドシェルのメソッドへの復帰COM もし __name__ == ' __main__ ' : シェル()
2.結果を実行します
第2の方法では3は、このように一定の順序を実行していない、単一直接外部コマンド又は複数のコマンドのバッチを実行することで、各ランは、コマンドを実行するために、独自の背面に追加することができます
輸入paramiko 輸入のsys インポートOS ホスト名 = ' 192.168.1.202 ' ポート = 22 名 = ' ルート' パスワード = '123456 ' DEFのシェル(引数): #は、Pythonのparamiko_demo.py LS ifconfigコマンド:のような外部パラメータからスクリプトを呼び出す #オープンログ paramiko.util.log_to_file(' paramiko.log ' ) S = paramiko.SSHClient() #のs.load_host_keys() #NA公共着陸 s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) s.connect(ホスト名、ポート、ユーザ名、パスワード) #の印刷(commds()) のための私で引数: 印刷(ⅰ) #の印刷循環の良いリストLSは、ifconfig 標準入力、標準出力、標準エラー出力= s.exec_command(ⅰ) #は、それぞれ二つのコマンドを実行して 印刷(stdout.readを( ).decode()) S。CLOSE() もし __name__ == ' __main__ ' : 引数 = sys.argvの シェル(引数)
単一のコマンドを実行(スクリプトいくつかの欠陥を、しかし結果はカザフスタンを表示には影響しません)
Pythonのparamiko_demo.pyのLS
複数のコマンドを実行します
パイソンparamiko_demo.py LS ifconfigコマンド