PythonのLinuxシステムのコマンドを実行するための4つの方法 - 前方

 

寄与者:junjieフォント:[増加減少]タイプ:転載時間:2014年10月21日私はこの記事にコメントしたいが必要で、Pythonのスクリプト内でシェルコマンドを呼び出すPythonのLinuxシステムのコマンドを実行するための4つの方法を説明し友人を参照することができる
:(1)os.systemの一方のみサブ端末システムのコマンドで実行し、リターン情報次のようにコマンドコードが後にコードを取得することができないコピー
> EXIT_STATUS実行コマンド(列A)サブシェルaで-システム(コマンド) 。
もう一度実行するコマンドの結果が直接プリントアウトした場合のコードは、コードは次のコピー:
>>> os.system(「LS」)04101419778.CHMのbash-Pyのドキュメントメディア写真pythonallジャンゴvideo11.wmvブックのダウンロード例プロジェクトツールデスクトップ-20061022をコードの実行は、コードは以下のコピー後の処理コマンド(2)os.popenを行うだけでなく、また、情報オブジェクトを返す:
のpopen(コマンド[、MODE =「R&LT」[、]のBUFSIZE]) -パイプAからオープン/コマンドに>パイプファイルオブジェクトの例を返す:コード次のコードをコピーします。
>>> TMP = os.popen( 'LS *の.py')readlines()>>> tmpOut [21] :. [ 'dump_db_pickle.py'、 'dump_db_pickle_recs.py'、 'dump_db_shelve.py'、「initdata。 PY '' __ init__.py ' 'make_db_pickle.py'、' make_db_pickle_recs.py '' make_db_shelve.py '' peopleinteract_query.py '' reader.py '' testargv.py '' teststreams.py " 、「update_db_pickle.py」、「writer.py」 ]
という利点が:結果は、プログラムを処理促進するために、変数を付与するために戻りました。(3)コード次のコードモジュール、サブプロセスのコピーを使用して:
>>> >>> subprocess.callインポートサブプロセス([「CMD」、「ARG1」、「ARG2」]、シェル=真)を
返し、出力を取得するには:コードは、コードを次のコピー:
インポートsubprocessp subprocess.Popen =( 'LS'、シェル= Trueの場合、subprocess.PIPE = STDOUT、標準エラー出力= subprocess.STDOUT)p.stdoutでラインのため。
>>>インポートコマンド>>> DIR(コマンド) [ '__ all__'、 '__builtins__'、 '__doc__'、 '__FILE__'、 '__name__'、 'getoutput'、 'GETSTATUS'、 'getstatusoutput'、 'mk2arg'、」 mkarg '] >>> commands.getoutput( "日付 ")'水6月10日午後七時39分57秒CST 2009 '>>>>>> commands.getstatusoutput( "日付")(0、'水6月10日夜07時40分:41 CST 2009「)注:以下のようにコードのコードはコピーします:パラメータまたは戻り実行コマンドは、中国語の文字が含まれている場合に使用os.popen次のエラーが発生した場合、サブプロセスを使用することをお勧めします
トレースバック(最新のラストコール) :ファイル"./test1.py"、ライン56 "./mailfax/Fax.py"メインfax.sendFax()ファイル、inmain()ファイル"./test1.py"、ライン45、ライン13、中sendfaxのos.popen(CMD)UnicodeEncodeErrorを: ' ASCII'位置46-52にコーデックができないエンコード文字。序ないINRANGE(128)

おすすめ

転載: www.cnblogs.com/logol/p/11961575.html