lock für datei beim schreiben
Verfasst: Dienstag 11. Dezember 2007, 19:03
guten abend allerseits
folgendes szenario:
1) n unabhängige prozesse schreiben an das ende einer textdatei bis zu einer maximalen länge von 200 zeilen (\n).
2) ist die textdatei "voll", also 200 einträge, wird eine neue datei erstellt
3) das schreiben, zählen etc. wird von einer klasse kontrolliert - jeder prozess instanziert diese klasse, resp. hat eine unabhängige instanz. das zählen der linien und das eventuelle erstellen eines neuen files geschieht im def __init__ -teil.
4) es dürfen keine einträge verlohren gehen, resp. daten überschrieben werden.
folgendes möchte ich erreichen:
die datei sperren, wenn eine instanz mit ihr beschäftigt ist (zählen der linien und schreiben) - wie kann ich das erreichen resp. implementieren? gibt es eine möglichkeit in pyhton das lesen und schreiben zurfristig zu verbieten oder wie kann ich eine (art) semaphore in python implementieren (global, also nicht nur in python, da mehrere python prozesse darauf zugreifen....)
für hinweise wäre ich äusserst dankbar.
mfg
phililppe
für einen tip wäre ich äusserst dankbar
mit freundlichem gruss
philippe
folgendes szenario:
1) n unabhängige prozesse schreiben an das ende einer textdatei bis zu einer maximalen länge von 200 zeilen (\n).
2) ist die textdatei "voll", also 200 einträge, wird eine neue datei erstellt
3) das schreiben, zählen etc. wird von einer klasse kontrolliert - jeder prozess instanziert diese klasse, resp. hat eine unabhängige instanz. das zählen der linien und das eventuelle erstellen eines neuen files geschieht im def __init__ -teil.
4) es dürfen keine einträge verlohren gehen, resp. daten überschrieben werden.
folgendes möchte ich erreichen:
die datei sperren, wenn eine instanz mit ihr beschäftigt ist (zählen der linien und schreiben) - wie kann ich das erreichen resp. implementieren? gibt es eine möglichkeit in pyhton das lesen und schreiben zurfristig zu verbieten oder wie kann ich eine (art) semaphore in python implementieren (global, also nicht nur in python, da mehrere python prozesse darauf zugreifen....)
für hinweise wäre ich äusserst dankbar.
mfg
phililppe
für einen tip wäre ich äusserst dankbar
mit freundlichem gruss
philippe