2011-01-28 16 views

答えて

9

subprocess.callを使用するのが最も簡単です。実行されたプログラムが終了するまで戻りません。異なる動作が必要な場合はsubprocess moduleの他の方法を見てください。

4
import os 
os.system('./script.sh') 

Pythonスクリプトは、SHが

+0

"サブプロセスモジュールは、新しいプロセスを生成して結果を取得するためのより強力な機能を提供します。このモジュールを使用する方がこの機能を使用する方が適しています。たとえば、subprocess.call()を使用すると、実行するシェルが実行されないため、動的に生成された引数をプログラムに渡す場合、引数の注入を考慮する必要はありません。 – ThiefMaster

+1

Subprocess.Popenを提案することもできます。これにより、実行を制御し、終了したり、終了させることができます。しかし、実際には、os.systemが必要とするすべての機能が提供されることがあります。 –

+0

subprocess.callも簡単で簡単なAPIを提供します; – ThiefMaster

0

を終了するまで、あなたはos.systemまたはsubprocess.Popenまたはsubprocess.callを使用することができます停止しますが、サブプロセスのメソッドを使用している場合ではないだろうあなたがshell=Trueを使用してください。これらすべての方法でシステムコール経由で実行すると、ブロックされます。 pythonスクリプトは完了し、次のステップに進みます。

+3

シェル= Trueを使用する必要はありません。シバンラインを持つシェルスクリプト(またはスクリプトを引数としてシェルを呼び出すことさえ)はexec()で正常に実行できますスタイルの関数。 – ThiefMaster

関連する問題