[Python-de] Re: Files Zugriff unter WINDOWS2000, (Löschen von Dateien mit permission denied)

Gerhard Häring gerhard.haering at opus-gmbh.net
Tue Nov 12 16:09:44 EST 2002


In article <Pine.BSF.4.44.0211121052250.25283-100000 at emancholl.pair.com>, Georg Mischler wrote:
> Gerhard Häring wrote:
> 
>> In article <IOEEIPCHIDIHEFEJLJKKEENADCAA.josef.cihal=QejgLEES/+Q at public.gmane.org>, Josef Cihal wrote:
>> > Ich möchte unter Windows 2000 Dateien löschen,
>> > auch die an welche zugegriffen wird...
>> > Es geht aber nicht!
>>
>> Du kannst versuchen, das writeable Flag auf die Files zu setzen. Das geht mit
>> der Funktion os.chmod.
> 
> Ich glaube, das Problem hier liegt bei der Aussage "auf welche
> zugegriffen wird". Wenn ein anderer Prozess (oder sogar der
> gleiche?) die Datei in einem non-sharing Modus offen hat, dann
> wird das Loeschen (und andere Operationen) von Seiten von
> Windows unterbunden, ohne dass es sich um die Zugriffsrechte
> hinter dem Samba-Server kuemmert.

Ah. Ich hatte die vage Erinnerung, dass so was existiert. Angenommen, ich öffne
die Files selber, wie kann ich dann angeben, dass sie im "shareable"-Modus
geöffnet werden sollen? Geht das mit Python selbst, oder evtl. nur mit den
win32-Extensions und wenn ja, wie? :-)

> Wie (und ob) man um diese Blockierung herumprogrammieren kann, weiss ich
> allerdings auch nicht.

Ich hattte kürzlich ein ähnliches Problem in einer gemischten C#/Python
Applikation (Python erzeugt mittels PIL, Ghostscript, hp2xx, ... Thumbnails von
diversen Bildern), in der mehrere User auf einen Fileserver zugreifen.

Als Würgaround kopiere ich die Thumbnails momentan in lokale temporäre Dateien,
weil komischerweise ein
    
    new Bitmap("/path/to/image.png")

der .NET Klassenbibliothek [1] die Datei offen hält :-( Als optimal würde ich
diese Lösung aber nicht bezeichnen.

[1] http://www.spiegel.de/spiegel/0,1518,220999,00.html ;-)
-- 
Gerhard Häring
OPUS GmbH München
Tel.: +49 89 - 889 49 7 - 32
http://www.opus-gmbh.net/






More information about the Python-de mailing list