2010-02-01 31 views
1

同時執行多個腳本我有一個python腳本,這是再次執行4-5 Python腳本。 由於性能原因,我想使用相同的解釋器來執行所有腳本。的Python:從同一個解釋

我該如何處理這個問題?

回答

0

當前正在執行的解釋器在sys.executable中可用。您可以將它明確地傳遞給subprocess.Popen作爲第一個參數,或者將其作爲「可執行」參數傳遞。

+0

sys.executable只是包含蟒蛇的路徑的字符串程序。當他說「使用相同的解釋器」時,我認爲他意味着相同的過程,而不僅僅是相同的磁盤可執行文件。 – 2010-02-01 10:57:20

8

顯而易見的解決方案(可能需要稍微調整)是從主腳本調用每個腳本的主要功能。例如,如果script1.py包含:

#!/usr/bin/python 
def main(): 
    // Do something 
if __name__ == "__main__": 
    main() 

放於master.py

#!/usr/bin/python 
import script1 
def main(): 
    script1.main() 

if __name__ == "__main__": 
    main() 

,只要你想你可以繼續這種模式儘可能多的腳本。

+1

可以使它成爲「simultanseos」,「多線程」,「多處理」模塊 – jfs 2014-03-25 16:33:38

0

我不認爲這個建議,但最壞的情況下,你可以使系統的運行'從內部其他每個腳本:

import os 
os.system('python script1.py') 
os.system('python script2.py') 
os.system('python script3.py') 
os.system('python script4.py')