2

Pythonモジュールのサブプロセスがコマンドを実行するために使用するディレクトリをどのように指定しますか? C プログラムを実行し、その出力を Python でほぼリアルタイムで処理したいと考えています。

コマンドを実行したい (これにより、C プログラムの makefile が実行されます。

make run_pci

の:

/home/ecorbett/hello_world_pthread

また、C プログラムからの出力を Python で処理したいと考えています。私はPythonが初めてなので、サンプルコードをいただければ幸いです!

ありがとう、エドワード

4

2 に答える 2

3

、、、またはのcwd引数を使用します。例えばPopencallcheck_callcheck_output

subprocess.check_output(["make", "run_pci"],
                        cwd="/home/ecorbett/hello_world_pthread")

編集:わかりました。「ほぼリアルタイム」の意味がわかりました。試す

p = subprocess.Popen(["make", "run_pci"],
                     stdout=subprocess.PIPE,
                     cwd="/home/ecorbett/hello_world_pthread")
for ln in p.stdout:
    # do processing
于 2012-07-10T18:38:03.590 に答える
0

ドキュメントを読んでください。引数で指定できます。指定しcwdない場合は、親の現在のディレクトリ(つまり、サブプロセスを実行するスクリプト)を使用します。

于 2012-07-10T18:39:27.847 に答える