Cómo ejecutar Popen con argumentos sin “-e” en gnome 3.36.9.
Tenía un tema aquí antes, pero mi problema no está resuelto…
Utilicé una versión anterior de Gnome durante mucho tiempo y mi script funcionaba muy bien. He instalado la última versión de Gnome (3.36.9) y hay un pequeño problema que no interfiere con el uso del programa. Me refiero a un error:
La opción "-e" está obsoleta y podría eliminarse en una versión posterior de gnome-terminal. Usa "--" para finalizar las opciones y colocar la línea de comandos a ejecutar después de eso.
No me impide usar o ejecutar el programa, pero quiero eliminar los errores en la consola.
Mi código anterior, que funcionaba, se ve así:
# <--- CONFIGURACIÓN ---> #
os.chdir("/home/administrator/program/cartypes")
car1 = "audi"
color1 = "black"
engine = "diesel"
# <--- CONFIGURACIÓN ---> #
p1 = Popen(['gnome-terminal', '--wait', '-e','python3 ./program.py --car ' + car1 + ' --color ' + color1 + ' --engine ' + engine1])
time.sleep(5)
p1.communicate()
p1.wait()
print("¡Fin!")
Leí un poco y cambié “-e” por “–“, es decir:
p1 = Popen(['gnome-terminal', '--wait', '--','python3', './program.py'])
Y teóricamente el programa comienza, pero desafortunadamente ya no funciona cuando agrego argparse al código y no sé cómo conectar el script de trabajo con los argumentos enviados a program.py como antes en el primer código con “-e”:
p1 = Popen(['gnome-terminal', '--wait', '--','python3', './program.py'])
```
con:
</code></pre>
./program.py --car ' + car1 + ' --color ' + color1 + ' --engine ' + engine1
````
¡Gracias! :)
davy.ai
Parece que el problema está en pasar argumentos al script utilizando Popen y gnome-terminal. En lugar de usar Popen, podrías intentar usar el módulo subprocess y pasar los argumentos utilizando la función
subprocess.run()
. Aquí tienes un ejemplo:Esto abrirá un gnome-terminal y ejecutará el script
program.py
con los argumentos proporcionados. Asegúrate de que el scriptprogram.py
acepte estos argumentos utilizando el móduloargparse
.