Ich habe ein Protokoll Überwachung Python-Skript Ich arbeite an. Es sendet Nachrichten, wenn Einträge mit dem Text "getrennt" gefunden werden. Das Skript liest das Protokoll, bis es auf die Meldung "Ende der Protokolldatei" stößt. In seinem aktuellen Zustand sendet es die Nachrichten, wenn sie rüberkommen. Dies ist nicht optimal und ich muss sie etwa 5 Minuten lang zusammenlegen, bevor ich die gesammelten Einträge sende. Ich bin mir nicht sicher, was die beste Methode dafür ist. Hier ist eine vereinfachte Version von dem, was ich versuche zu tun. Bisher habe ich time.sleep und einen aufwendigen inkrementellen Zähler vergeblich versucht.Empfohlene Methode zum Pool Nachrichten in einer offenen Dateischleife für Python
# Open log
f = open(log, 'r')
# Start while loop and read line
while(1):
# Check for Disconnected
if line.find("disconnected") != -1:
ltime = time.time()
print ("Disconnected Found in Log at " + ltime)
# Check for end of log file
if line.find("End of file") != -1:
# End script
break
finden Sie vielleicht Watchdog nützlich http://stackoverflow.com/questions/32923451/how-to-run-an-function-when-anything-changes-in-a-dir-with-python-watchdog/32923569 # 32923569 –