Estoy trabajando en un entorno Windows (¡mi computadora portátil!) Y necesito un par de scripts que ejecuten otros programas, como un archivo de lote de Windows.python como script "por lotes" (es decir, ejecute comandos de python)
¿cómo puedo ejecutar un comando desde Python de modo que el programa cuando se ejecuta, reemplace el script? El programa es interactivo (por ejemplo, al unísono) y mantiene las líneas de impresión y solicita la entrada del usuario todo el tiempo.
Por lo tanto, ejecutar un programa e imprimir la salida no será suficiente. El programa tiene que hacerse cargo de la entrada/salida del script, bastante mcuh como ejecutar el comando desde un archivo .bat.
Intenté os.execl pero me sigue diciendo "argumentos inválidos", también, no encuentra el nombre del programa (no busca la variable PATH); Tengo que darle el camino completo ..?!
básicamente, en un archivo por lotes que puedo escribir: perfil unísono
cómo puedo conseguir el mismo efecto en Python?
EDIT:
descubrí que se puede hacer con os.system(...)
y ya que no puedo aceptar mi propia respuesta, voy a cerrar la pregunta.
EDITAR: se suponía que era un comentario, pero cuando lo publiqué no tenía muchos puntos.
Gracias Claudiu, eso es más o menos lo que quiero, excepto por una pequeña cosa: quiero que la función termine cuando el programa se cierra, pero cuando lo intento al unísono, no devuelve el control al script de python, pero para el entorno de línea de comandos de windows
>>> os.execlp("unison")
C:\>Usage: unison [options]
or unison root1 root2 [options]
or unison profilename [options]
For a list of options, type "unison -help".
For a tutorial on basic usage, type "unison -doc tutorial".
For other documentation, type "unison -doc topics".
C:\>
C:\>
C:\>
cómo evitar esto?
Ayuda a proporcionar la secuencia de comandos que no funciona. –
No es necesario cerrar la pregunta porque no puede aceptar su respuesta. Si es el más votado, es básicamente el mismo que el aceptado ... Un poco molesto, ciertamente, pero cerrar no es la forma correcta de hacerlo, diría ... – dbr