Comment puis-je frayer de nouvelles coques pour exécuter des scripts Python à partir d'une base de script Python?

J'ai réussi à exécuter plusieurs scripts Python, les appelant à partir d'une base de script à l'aide de la sous-processus module:

subprocess.popen([sys.executable, 'script.py'], shell=True)

Cependant, chacun de ces scripts exécute des simulations.les fichiers exe à partir d'une application C++) qui génèrent une sortie de la coquille. Toutes ces sorties sont écrites à la base de la coquille de l'endroit où j'ai lancé ces scripts. Je voudrais générer un nouveau shell pour chaque script. J'ai essayé de générer de nouvelles coquilles à l'aide de la shell=True attribut lors de l'appel de sous-processus.appel (aussi essayé avec popen), mais ça ne fonctionne pas.

Comment puis-je obtenir un nouveau shell pour chaque processus générées avec le processus secondaire.appel?

J'ai été la lecture de la documentation sur l'entrée standard stdin et stdout comme suggéré par Spencer et a trouvé un drapeau de l'résolu le problème: sous-processus.CREATE_NEW_CONSOLE. Peut-être rediriger les tuyaux fait le travail aussi, mais cela semble être la solution la plus simple (du moins pour ce problème spécifique). Je viens de le tester et a parfaitement fonctionné:

subprocess.popen([sys.executable, 'script.py'], creationflags = subprocess.CREATE_NEW_CONSOLE)
  • Voulez-vous dire que vous souhaitez exécuter les scripts dans les différentes fenêtres du terminal? Si oui, quel programme de terminal que vous utilisez?
  • oui, je veux courir chaque script dans une autre fenêtre de terminal. Je suis à l'aide de la base de la Fenêtre de terminal (juste en cours d'exécution cmd)
  • Je ne sais pas beaucoup au sujet de Windows. Cela aide: stackoverflow.com/questions/303838/... ? (c'est à dire start cmd.exe ou start python script.py ... )
  • Vous devez accepter de Spencer réponse.
  • merci! C'est mon deuxième fois et je ne savais pas.
  • Pas de problème. Je suis content que vous avez trouvé une solution à votre problème.

InformationsquelleAutor emiguel | 2011-06-24