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.