0

私は単純なプログラムを持っています。その一部は、Web ブラウザーなどの他のプログラムを開くことです。

これはうまくos.system(sudo "program")いきますが、プログラムが開くと、新しいプログラムが閉じるまで元のpythonプログラムでは何もできません。これが起こらないようにする方法はありますか?

4

1 に答える 1

1

サブプロセス。サブプロセス モジュールは制御を Python に戻し、パイプ経由で結果を取得します。

import subprocess as sp
proc = sp.Popen(["program", "arg1", "arg2"], shell=False, stdout=sp.PIPE, stderr=sp.PIPE)
ret, err = proc.communicate()

「プログラム」は proc= .... で始まりますが、proc.communicate(); を呼び出すと、結果 (メッセージ、エラー) がパイプに入ります。そうでない場合は、 stderr=sp.PIPE をスキップできます。

于 2013-09-29T11:20:23.583 に答える