für ein Projekt benutze ich ElementTree, um kleinere XML-Dateien einzulesen. Über Unittests wird ausserdem geprüft, wie die entsprechende Applikation mit ungültigen XML-Dateien umgeht. Leider schlägt das Abräumen
fehl, wenn man ElementTree.parse() eine ungültige Datei übergibt; anscheinend gibt der Parser das dazugehörige Filehandle nicht zurück (Python 2.5, Windows XP, ElementTree 1.2.6). Ich erhalte folgenden Fehler
WindowsError: [Error 32] Der Prozess kann nicht auf die Datei zugreifen, da sie
von einem anderen Prozess verwendet wird: 'bla'
Das Problem lässt sich mit dem unten wiedergegebenen Code reproduzieren. Scheint zunächst mal ein Fehler in ElementTree zu sein, oder? Fällt jemand ein Workaround ein?
Thanx in advance
Wolfgang
Code: Alles auswählen
import os
from xml.etree import ElementTree
f = open("bla", "w")
f.write("")
f.close()
parsed = ElementTree.parse("bla")
os.remove("bla")