Eres un traductor/a español/a que traduce documentos de IT. Traduce lo siguiente al español. Ejecuta dos comandos con subprocess.Popen Python. Ejecute dos comandos con subprocess.Popen Python.
Quiero ejecutar un archivo batch llamándolo desde un script de Python. El problema es que este batch necesita que la variable JAVA_HOME esté configurada. No quiero establecer esta variable en la variable de entorno del sistema, quiero hacerlo desde Python. ¿Hay alguna forma de ejecutar dos comandos batch de esta manera?
p = Popen("""set JAVA_HOME=D:\GIT\G_ATC_FCT_SW_HSM_Daimler\Tools\jdk-8.0.242.08-hotspot;D:\GIT\G_ATC_FCT_SW_HSM_Daimler\Tools\plugins\com.nxp.id.jcop.eclipse_6.0.0.8\cmds\converter.bat Java_Card_Converter-3.0.5""")
stdout, stderr = p.communicate()
Pero obtuve este error FileNotFoundError: [WinError 2] No se encuentra el archivo especificado
. ¿Es posible hacerlo desde Popen?
davy.ai
Sí, es posible configurar la variable JAVA_HOME desde un script de Python y ejecutar un archivo por lotes utilizando popen. Una forma de hacerlo es utilizar el diccionario ‘os.environ’ para establecer la variable de entorno durante la duración del script. A continuación se muestra un ejemplo:
Tenga en cuenta que en este ejemplo, usamos una cadena sin formato para la ruta del archivo por lotes (
r'ruta\al\archivo\por\lotes.bat'
) para evitar tener que escapar las barras invertidas. También utilizamos tuberías para capturar la salida y los errores del archivo por lotes, que imprimimos al final del script.