2016-10-13 4 views
0

Ich versuche, ein Modul namens Watchdog in ein Projekt zu implementieren. Ich suche nach einer Möglichkeit, die Zeit zwischen Ereignisaufrufen innerhalb von Watchdog zu messen.Python Watchdog Messzeit Ereignisse

if timebetweenevents == 5 seconds: 
    dothething() 

Danke,

Charles


Edit:

Ich bin mit Python 3.5.0

Hier ist, was der Code, den ich auf LINK arbeitete.

Ich kann die aktuelle Zeit des Ereignisses ausdrucken, aber was ist der beste Weg, um an der Zeit vom letzten Ereignis festzuhalten und dann die Zeit zwischen dem letzten Ereignis zu messen?

+0

, welche Version von Python verwenden Sie? – Back2Basics

Antwort

0

Sie können Ihre Handler-Klasse ändern, um eine Aufzeichnung über die Uhrzeit des letzten Anrufs zu erhalten.

init Methode initialisiert nur den Wert auf die aktuelle Zeit. Sie müssen auch die Methode machen on_any_event eine nicht statische Methode

class Handler(FileSystemEventHandler): 
    event_time=0 

    def __init__(self): 
     self.event_time=time.time() 

    def on_any_event(self, event): 
     now=time.time() 
     timedelta=now-self.event_time 
     self.event_time=now 

     print(timedelta) 
+0

Das war unglaublich hilfreich. Ich danke dir sehr. –