es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo ejecutar un archivo .exe de una aplicación Electron desde Python en Windows?

¿Cómo puedo ejecutar un archivo ejecutable de una aplicación Electron desde Python en Windows?

En última instancia, el objetivo es ejecutar una aplicación de línea de comandos personalizada construida con Electron, pasando argumentos. (Utilizo vscode como ejemplo para reproducibilidad).

Esto no funciona:

os.system(r'"C:\Users\me\AppData\Local\Programs\Microsoft VS Code Insiders\Code - Insiders.exe"')

output: 1

Estos métodos inician la aplicación (pero no desde Python):

  • Ejecutar manualmente “C:\Users\me\AppData\Local\Programs\Microsoft VS Code Insiders\Code – Insiders.exe” en el símbolo del sistema.
  • En Mathematica:
Run["\"C:\\Users\\me\\AppData\\Local\\Programs\\Microsoft VS Code Insiders\\Code - Insiders.exe\""]

También he intentado lo siguiente sin éxito:

  • Otros métodos de ejecución de instrucciones de línea de comandos en Python, incluyendo ejecutar un script por lotes desde Python.
  • Otras aplicaciones construidas con Electron (por ejemplo, Typora).
  • Un entorno de Python nuevo.

Otra observación:

os.system(rf'start /wait cmd /k "C:\Users\me\AppData\Local\Programs\Microsoft VS Code Insiders\Code - Insiders.exe"')

abre una ventana de cmd.exe con

(my_conda_env) c:\my_path_to_py_proj>
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para ejecutar un archivo .exe de una aplicación de Electron desde Python en Windows, puedes usar el módulo subprocess en lugar de os.system(). Aquí tienes un ejemplo:

    import subprocess
    
    # ruta al archivo .exe de la aplicación de Electron
    electron_app_path = r'C:\Users\yo\AppData\Local\Programs\Microsoft VS Code Insiders\Code - Insiders.exe'
    
    # argumentos para pasar a la aplicación
    args = ['--arg1', 'valor1', '--arg2', 'valor2']
    
    # ejecutar la aplicación con los argumentos usando subprocess
    subprocess.run([electron_app_path] + args)
    

    Esto debería iniciar la aplicación de Electron con los argumentos especificados desde Python. Si necesitas esperar a que la aplicación termine antes de continuar con tu script de Python, añade el argumento check=True a subprocess.run(). Por ejemplo:

    subprocess.run([electron_app_path] + args, check=True)
    

Comments are closed.