2016-07-16 21 views
0

私はPythonスクリプトmyscriptを持っています。私はのMyScriptにこのような2回起動するPythonスクリプトを書きたいと思います:他の2つのpythonスクリプトを非同期的に実行するPythonスクリプト

bash>python runNTimes.py 2 

をI runNTimes.py

import subprocess 
for i in range(int(sys.argv[1])): 
    subprocess.call(['python', 'myscript.py']) 

問題については、以下のコードは、これは私が起動したら、すなわち、同期が起こるということである持っています最初のサブプロセスは、最初のサブプロセスが終了するまで、起動されません。

myscript.pyのための最小限の例:

try: 
     import Tkinter as tk # for Python2 
except: 
     import tkinter as tk # for Python3 

win=tk.Tk() 
win.mainloop() 
+0

コール・ブロック、popenのを使用します –

+0

@PadraicCunninghamあなたは私の忍者を倒す編集 –

答えて

1

使用popenの代わりに:call()ブロックPopen()んではない

from subprocess import Popen 
import sys 
for i in range(int(sys.argv[1])): 
    Popen(['python', 'synccall1.py']) 

synccall1.py

try: 
     import Tkinter as tk # for Python2 
except: 
     import tkinter as tk # for Python3 

win=tk.Tk() 
win.mainloop() 
関連する問題