lock für datei beim schreiben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
philippe
User
Beiträge: 4
Registriert: Mittwoch 7. November 2007, 20:54

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
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hallo philippe, willkommen im Forum,

Du kannst einfach ein Lock-File verwenden oder unter Unices die Funktionen aus fcntl.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
philippe
User
Beiträge: 4
Registriert: Mittwoch 7. November 2007, 20:54

aaaahhhh! besten dank leonidas, das werd ich gleich mal ausprobieren!
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Werden Dateien unter Windows nicht sowieso immer gelockt falls nichts anderes angegeben wird?
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Antworten