Python – abre el nuevo shell y ejecuta el comando

En este momento estoy ejecutando un comando de bash desde Python usando el siguiente método:

os.system(cmd) 

Sin embargo, necesito ejecutar el comando en un nuevo shell / terminal. ¿Alguien sabe como hacer esto?

Gracias dan

Estoy usando el siguiente método (esto también redireccionará stderr a stdout):

 import subprocess cmd_line = "echo Hello!" p = subprocess.Popen(cmd_line, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) out = p.communicate()[0] print out 

os.system() está en desuso a favor de:

 import subprocess print subprocess.check_output("command", shell=True) 

Windows “WshShell”, Google, es la respuesta. Mis pasos completos:

Instalar

 1. pip install pywin32-221-cp36-cp36m-win_amd64.whl 2. python.exe pywin32_postinstall.py -install (DOS command line) 

correr

 3. import win32com.client 4. WshShell = win32com.client.Dispatch("WScript.Shell") 5. WshShell.run("cmd") 

WshShell.run () es lo que necesita, hay muchas formas diferentes de ejecutar. Ventana oculta, ventana nueva, pantalla completa, minimizada, … etc.