2010-02-01 5 views

Répondre

0

L'interpréteur en cours d'exécution est disponible en sys.executable. Vous pouvez simplement passer explicitement à subprocess.Popen comme premier argument, ou le passer comme l'argument 'exécutable'.

+0

sys.executable est juste une chaîne contenant le chemin du python programme. Quand il dit "utiliser le même interpréteur", je suppose qu'il veut dire le même processus, pas seulement le même exécutable sur disque. –

8

La solution évidente (qui peut nécessiter un peu de peaufinage) consiste simplement à appeler la fonction principale de chaque script à partir d'un script principal. Par exemple, si script1.py contient:

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

mis en master.py

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

if __name__ == "__main__": 
    main() 

Vous pouvez continuer ce modèle pour autant de scripts que vous le souhaitez.

+1

pour rendre les modules "simultanseos", "multithreading", "multiprocessing" utilisables – jfs

0

Je ne pense pas que cela est recommandé, mais le pire des cas, vous pouvez faire le système 'exécuter chaque script dans une autre:

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