ElementTree und Exceptions
Verfasst: Freitag 2. November 2007, 14:15
Hallo,
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
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")