Handhabung von Windows-spezifischen Ausnahmen in der Plattform-unabhängigen Weg

Betrachten Sie das folgende Python-Ausnahme:

  [...]
    f.extractall()
  File "C:\Python26\lib\zipfile.py", line 935, in extractall
    self.extract(zipinfo, path, pwd)
  File "C:\Python26\lib\zipfile.py", line 923, in extract
    return self._extract_member(member, path, pwd)
  File "C:\Python26\lib\zipfile.py", line 957, in _extract_member
    os.makedirs(upperdirs)
  File "C:\Python26\lib\os.py", line 157, in makedirs
    mkdir(name, mode)
WindowsError: [Error 267] The directory name is invalid: 'C:\\HOME\\as\
\pypm-infinitude\\scratch\\b\\slut-0.9.0.zip.work\\slut-0.9\\aux'

Ich verarbeiten wollen, diese Besondere Ausnahme - d.h., WindowsError mit Fehler Nummer 267. Allerdings kann ich nicht einfach Folgendes machen:

try:
    do()
except WindowsError, e:
    ...

Weil das nicht funktionieren würde, auf Unix-Systemen, wo WindowsError ist nicht einmal definiert, in der Ausnahmen-Modul.

Ist es ein eleganter Weg, um behandeln Sie diese Fehler?

Schreibe einen Kommentar