Ich hab um etwas Übung zu bekommen ein kleines Programm geschrieben das eine .log datei kontrollieren soll.
Dabei handelt es sich um eine Textdatei die von einem Transfer Programm angelegt und ständig erneuert wird.
Nun soll mein kleines Programm alle 5min diese Datei neu einlesen und Kontrollieren was in der letzten Zeile steht. Sofern da *erfolgreich* steht soll es nach 5min nochmal versuchen.
Nun ist es so das die Kontrolle wunderbar Funktioniert.
Jedoch wird die Textdatei nicht jedesmal aufs neue eingelesen.
Und so bringts mir nicht viel.
Hab schon viel mit f.close() rumexperimentiert. Aber ohne den gewünschten Effekt.
Hat jemand ne Idee?
Hier noch ein Auszug aus dem Programm:
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import time
# Importiert System Informationen
f = open('/home/***/transfer.log', 'r')
# Defenieren der Log-Datei
list = f.readlines()
# Lesen der Liste
verg1 = list[-1]
verg2 = list[-2]
verg3 = list[-3]
verg4 = list[-4]
# Durchsuchen der Liste der Jeweiligen Zeile
beendet = True
# Wartet auf ein Beenden Signal im Log
while beendet:
if verg1.find('erfolgreich') != -1:
print "Transfer wird fortgesetzt."
f.close()
time.sleep(300)
elif verg1.find('ERROR') != -1:
print "Tranfser Fehlgeschlagen. Bitte Neustarten!"
(weiter gehts mit weiteren Elif einträgen...)
EDIT: Code-Tags verwendet^^