Çalıştığım bir günlük izleme python komut dosyası var. "Bağlantı kesildi" metnine sahip girişler bulunduğunda mesajlar gönderir. Komut dosyası, bir "Günlük dosyasının sonu" iletisine rastlayana kadar günlüğü okur. Mevcut haliyle, mesajları karşılaştıklarında gönderir. Bu optimal değil ve toplanan girişleri göndermeden önce 5 dakika bekletmem gerekiyor. Bunun için en iyi yöntemin ne olduğundan emin değilim. İşte yapmaya çalıştığım şeyin basitleştirilmiş bir versiyonu. Şimdiye kadar, time.sleep ve hiçbir boşuna ayrıntılı bir artımlı sayacı denedim.Python için açık bir dosya döngüsündeki iletileri havuzlamak için önerilen yöntem
# 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
kullanışlı bekçi köpeği bulabilir http://stackoverflow.com/questions/32923451/how-to-run-an-function-when-anything-changes-in-a-dir-with-python-watchdog/32923569 # 32923569 –