Steffen Oschatz wrote:
Die einzige Möglichkeit die ich bis jetzt gefunden habe, heraus zu bekommen ob das File noch aktuell ist, ist ein write() - erst dann wird eine exception geworfen. Nun moechte ich aber ein Logfile nicht schreiben.
Gibts da einen besseren Ansatz ?
Wie Stefan Behnel schon bemerkt hat: Mit tell() die aktuelle Position geben lassen, mit stat() überprüfen, ob sich die Datei geändert hat, dann wieder neu suchen, mit seek() an die Stelle springen und von da weiter lesen. Vorsicht bei Umbenennungen: Wenn das logfile rotiert, willst Du vermutlich noch den Rest zwischen Deinem letzten Lesen und der Umbenennung verarbeiten; außerdem willst Du die neue Datei von vorn verarbeiten. Dazu musst Du die Umbenennung erkennen. Am einfachsten ist das auch mit stat: Wenn sich die Inode-Nummer ändert, wurde die Datei umbenannt. Außerdem sollte die Datei nicht kleiner werden, und (wenn Du ganz sicher gehen willst) sollten die letzten 100 Bytes vor der Stelle, an der du abgesetzt hast, auch noch die gleichen sein. Ciao, Martin _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de