[Python-es] Consulta sobre control de procesos
Arnau Sanchez
pyarnau en gmail.com
Mar Mar 2 12:46:31 CET 2010
On 01/03/10 22:46, Carlos Herrera Polo wrote:
> Window$ para ver si el proceso ejecutable.exe sigue en memoria y tengo
> que "matarlo" manualmente para que el programa siga operando bien.
> Lineas mas abajo adjunto el codigo.
> Gracias de antemano por las sugerencias.
Podemos darte muchas sugerencias, pero mejor que preguntes algo concreto :-)
> def fn_proceso(self,as_origen,as_modificado,as_resultado):
> # Procesa dos archivos
>
> ls_comando='ejecutable.exe '
>
> ls_origen = os.path.abspath(as_origen)
> ls_modificado = os.path.abspath(as_modificado)
>
> ls_comando = ls_comando + ' /original="'+ ls_origen + '"
> /modified="' + ls_modificado + '" /outfile="' + as_comparacion + '" /RTF
> /V /S'
>
> p = Popen(ls_comando , shell=True)
> p.communicate()
> p.wait()
>
> return
Algunas cosas:
- ¿Por qué empezar variables con "ls_"? es muy repetitivo y no aporta información.
- La construcción de ls_comando no es muy bonita. Mira si puedes usar
listas+join, o al menos interpolación de cadenas.
- Usas la shell cuando no es necesario: la única diferencia cuando shell=False
es que comando es una lista (que suele ser incluso más cómoda de generar que una
cadena).
- No es idiomático hacer un return al final de una función si ésta no devuelve nada.
Y ahora yo pregunto: ¿este script hace ya lo que querías? si es que no, ¿qué le
falta?
--
http://www.arnau-sanchez.com
Más información sobre la lista de distribución Python-es