Hola.

El día 27 de octubre de 2010 22:18, Jhonatan Sneider Salguero Villa
<[email protected]> escribió:
> Hola, hace rato que sigo la lista, pero esta es la primera vez que la uso.
> La duda que tengo es la siguiente:
>
> estoy creando un programa para descarga de archivos de megaupload ayudándome
> de software ya existente.
> para resolver los captchas uso tesseract y para la descargas wget, el
> programa ya funciona,
> pero ahora quiero agregar una funcionalidad que permita especificar un
> directorio para escanear cada cierto tiempo
> en búsqueda de archivos que contengan links y asi por ejemplo poder usar
> dropbox para agregar descargas remotamente.
> Para la funcionalidad de escanear directorios he pensado en lo siguiente:
>
> import os
> import time
>
> def scan_dir( path ):
>    # verificar que path sea un directorio si no lanzar una excepción
>    while True:
>        for file in os.listdir( path ):
>            if not file in done and not get_from_file( os.path.join( path,
> file ) ):
>                done.append( file )
>
>        time.sleep( SLEEP_TIME )
>
> que les parece, ¿seria mejor usar threads?, alguien ha tenido que hacer algo
> parecido, cual seria la mejor solución.
> muchas gracias por su atención.

Te recomiendo darle una mirada a pyinotify, es un wrapper para
inotify, una función de Linux para monitorear el sistema de archivos.

Yo creo que en la mayoría de los casos es mejor evitar el uso de
threads. Tal vez podrías usar un sistema de programación asíncrona
como Twisted o Gevent. Sí usas librerías gráficas como GTK o Qt ya
tienes un bucle en el cual programar asíncronamente.

Manuel.
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a