2012-05-09 12 views
8

Estoy tratando de usar Python Watchdog para monitorear un directorio de cambios. Sin embargo, cuando trato de ejecutar el ejemplo rápido:La secuencia de comandos de vigilancia Python no funciona correctamente

import time 
from watchdog.observers import Observer 
from watchdog.events import LoggingEventHandler 

if __name__ == "__main__": 
    event_handler = LoggingEventHandler() 
    observer = Observer() 
    observer.schedule(event_handler, path='.', recursive=True) 
    observer.start() 
    try: 
     while True: 
      time.sleep(1) 
    except KeyboardInterrupt: 
     observer.stop() 
    observer.join() 

poniendo en ella el archivo test.py, nada muestra en la ventana de terminal, donde me encontré con él. ¿Qué está causando esto y cómo puedo solucionarlo?

+1

¿Estás realizando cambios en el directorio? –

+0

Sí. He intentado hacer varios cambios, incluyendo la creación y eliminación de una carpeta, y la creación y eliminación de un archivo. –

Respuesta

14

probar el ejemplo en github: https://github.com/gorakhargosh/watchdog

Este ejemplo parece que funciona en oposición a la que está en el sitio de documentos que no lo hace.

+0

Gracias. Ataron el ejemplo en Github, y funcionó. Sin embargo, no parece detectar la eliminación de archivos o carpetas. –

+1

¿Qué sucede? ¿Ve algún error? Esto funciona bien para mí. ¿Lo está ejecutando con un argumento para apuntarlo a un directorio? Por ejemplo: ** 'python watch.py" foo "' **? Si hago eso usando: ** 'python watch.py". "' **, entonces no observa ningún problema en el directorio actual y muestra mensajes en la consola sobre cualquier archivo (incluida la creación y eliminación de ambos archivos y carpetas). – carboncrank

+0

He estado ejecutando el script con un argumento para potent a un directorio. El script imprime los eventos de creación de archivos y carpetas, pero aún no imprime los eventos de eliminación. –

Cuestiones relacionadas