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
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a