Python呼び出しC実行可能プログラム分類:python...

1990 ワード

Python 2.4から、Pythonはsubprocessモジュールを導入してサブプロセスを管理し、古いモジュールの方法、例えばos.system、os.spawn、os.popen、popen2、commands. 外部のコマンドをサブプロセスとして呼び出すだけでなく、サブプロセスのinput/output/errorパイプに接続して、関連する戻り情報を取得できます.
subprocessパッケージには、サブプロセスを作成する関数がいくつか定義されています.これらの関数は、それぞれ異なる方法でサブプロセスを作成するので、必要に応じて使用を選択できます.さらにsubprocessは、プロセス間でテキスト通信を使用するために標準ストリームとパイプを管理するツールも提供しています.subprocess.call()
subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False)
親プロセスは、子プロセスが終了するまで終了情報(Linux exit codeに相当するreturncode)subprocessを返すのを待つ.check_call()
subprocess.check_call(args, *, stdin=None, stdout=None, stderr=None, shell=False)
親プロセスは、サブプロセスが0に戻るのを待つ終了情報をチェックし、returncodeが0でない場合、エラーsubprocessを挙げる.CalledProcessError,このオブジェクトにはreturncode属性が含まれており,try...except...でsubprocessをチェックすることができる.check_output()
subprocess.check_output(args, *, stdin=None, stderr=None, shell=False, universal_newlines=False)
親プロセスは、サブプロセスが戻るのを待つサブプロセスが標準に出力した出力結果に対して終了情報をチェックし、returncodeが0でない場合、エラーsubprocessを挙げる.CalledProcessError、このオブジェクトにはreturncode属性とoutput属性が含まれています.output属性は標準出力の出力結果で、try...except...でチェックできます.
例として、
import subprocess

result = subprocess.check_output("ls","-al",shell=Fault(  ))

result = subprocess.check_output("ls -al",shell=True)

Cプログラムを呼び出すときに似ています.複雑な例を挙げると、みんなが一反三を挙げるのに便利です.
result = subprocess.check_output("/home/pi/mjpg/mjpg-streamer -i 'input_uvc.so -d /dev/video0 -r 1920x720' -o 'output_file.so -f /home/pi/data/cam0/ -s 1'",shell=True)

ご指摘を歓迎します.
本文はブロガーのオリジナル文章で、ブロガーの許可を得ずに転載してはならない.
転載先:https://www.cnblogs.com/paulweihan/p/4660099.html