この記事では、Python のサブプロセス ライブラリの使い方を紹介します。一定の参考価値があります。必要な友人は参照してください。お役に立てれば幸いです。
はじめに
subprocess モジュールを使用する目的は、os.system などの古いモジュールやメソッドを置き換えることです。
インポートモジュール
>>> import subprocess
コマンド実行call()
パラメータで指定されたコマンドを実行し、配列を次のように実行します。パラメータ Order。その機能は os.system(cmd) に似ています。
>>> subprocess.call(['ls','-l')
シェル パラメータのデフォルトは False です。
シェルが True に設定されている場合、文字列を直接渡すことができます:
>>> subprocess.call('ls -l',shell=True)
戻り結果を取得する check_output()
call() は返されません表示された結果 はい、check_ouput() を使用して返された結果を取得できます。
>>> result = subprocess.check_output(['ls','-l'],shell=True) >>> result.decode('utf-8')
プロセスの作成と管理 Popen Class
os.popen の代わりに subprocess.popen 。 Popen クラスを作成して、プロセスを作成し、複雑な対話を実行できます。
待機しない子プロセスを作成する
import subprocess child = subprocess.Popen(['ping','-c','4','www.baidu.com']) print('Finished')
待機する子プロセスを追加する
import subprocess child = subprocess.Popen(['ping','-c','4','www.baidu.com']) child.wait() # 等待子进程结束 print('Finished')
wait を追加した後( )、メイン プロセスは、次のステートメントを実行する前に、子プロセスが終了するのを待ちます。
サブプロセス テキスト フロー制御
標準出力リダイレクト:
import subprocess child = subprocess.Popen(['ls','-l'],stdout=subprocess.PIPE) #将标准输出定向输出到subprocess.PIPE print(child.stdout.read())
標準入力を使用して操作:
import subprocess child1 = subprocess.Popen(['cat','/etc/passwd'],stdout=subprocess.PIPE) child2 = subprocess.Popen(['grep','root'],stdin=child1.stdout,stdout=subprocess.PIPE) print child2.communicate()
以上がPythonのサブプロセスライブラリの使い方の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。