2011-12-29 76 views
2

私はサブプロセスを使うべきだと読んだことがありますが、私が見てきたすべての例はコマンドラインコマンドだけを実行していることを示しています。私のプログラムは別のコマンドとともにpythonコマンドを実行したい。私が実行したいコマンドは、ユーザーが作成したゲームをプレイしている間にユーザーに電子メールを送信することです。私はPythonコマンドを同時に実行させる必要があります。そうしなければ、電子メールが送信を終了してゲームに遅れが出る前に、ゲーム内の他のものは起こり得ないからです。助けてくださいとどんな入力も感謝します。複数のpythonコマンドを同時に実行するには?

+2

あなたには、いくつかのソースコードを示した場合、それを支援することが容易になるだろう。.. – sarnold

答えて

3

あなたが比較的深い話題ですスレッド、探しているようですね、これはあなたが始めるのに役立つはずです。http://www.devshed.com/c/a/Python/Basic-Threading-in-Python/

+0

ます。また、[マルチプロセッシング]で見たいと思うかもしれません(HTTP ://docs.python.org/library/multiprocessing.html) –

2

スレッドが別の答えでの話されていますが、基本的にあなたがで欲しいものを得ることができます使用してサブプロセスのpopenのコマンド:あなたはあなたのゲームに戻って行くよ、その後

#...game code here... 

args = [command_name_as_string, arg_1_to_command, arg_2_to_command, etc.] 
proc = subprocess.Popen(args) 

http://docs.python.org/library/subprocess.html#subprocess.Popen

何が基本的にたいと思うことは、この(ゲームループのどこかに初期化されると仮定しPROC)でありますループ。ゲームループの中でいくつかの点で、あなたはこのような何かに置くことができます:

if proc: 
    proc.poll() 
    if proc.returncode: 
     #...do whatever you want with the process output here, which can 
     # be accessed with proc.stdin, proc.stderr, and so on... 
    proc = None 
関連する問題