2012-11-23 17 views

cevap

7

Sen CREATE_NEW_CONSOLE bayrağı ayarlayabilirsiniz çalışmalıdır. Örneğin: shell=True ilgili

import subprocess 

p = subprocess.Popen('a.bat', creationflags=subprocess.CREATE_NEW_CONSOLE) 

docs implementation tutarsız. shell=True belirtirseniz, yalnızca platform Win9x ise veya 16 bit COMMAND.COM kabuğunu kullanıyorsa CREATE_NEW_CONSOLE'u ayarlar.

+0

Bu, beklediğim şeyi veriyor ... Teşekkürler. :) – sky

2

Ben bu yüzden test edemez, daha önce piton kullanmadıysanız, ancak bu

p = Popen('cmd.exe /k start a.bat') 
+0

Üzgünüz, ama bu işe yaramaz. Mevcut konsolu devralmak yerine, Win32'in 'CreateProcess' işlemine yeni bir konsol oluşturması için oluşturma bayrağı ayarlanması gerekiyor. – eryksun