[pyar] Ejecutando algo y enterándome qué pasa

Leandro Poblet leandrodrhouse en gmail.com
Mie Nov 21 12:55:46 ART 2012


No se si te sirve, pero una vez cuando tuve problemas con subprocess fue 
porque me faltó la función communicate(). Fijate acá: 
http://stackoverflow.com/questions/2028207/wrapping-cmd-exe-with-subprocess

Que te lo explican mejor que yo.

El 21/11/12 12:35, Facundo Batista escribió:
> Situación: tengo un string y debo ejecutarlo en la máquina (esto es
> bajo linux, para Launcherposta [0]).
>
> Ejemplo: "/usr/bin/gvim /home/facundo/fruta.txt"
>
> Quiero ejecutar ese string (del cual no tengo control) y si hay un
> error, indicárselo al usuario.
>
> Probé con
>
> a) subprocess.Popen(cmd, shell=True) -- el problema acá es que si el
> shell no encuentra el proceso, *yo no me entero* (no salta una
> excepción a nivel de Python)
>
> b) subprocess.Popen(cmd) -- acá no encuentra el comando, directamente;
> para que lo encuentre debería pasar cmd.split(), pero el tema es que
> hacer un split() a ciegas me puede convertir un comando que es
> "/bin/algo -t 3 foobar" en ["/bin/algo", "-t", "3", "foobar"] cuando
> realmente debería ser ["/bin/algo", "-t 3", "foobar"] (bah, creo).
>
> Puntos extras por tener el process id de lo que lancé, así lo logueo.
>
> Ideas? Gracias!
>
> Slds.
>
> [0] http://launcherposta.taniquetil.com.ar/
>



More information about the pyar mailing list