Рассмотрим следующее исключение Python:
[...]
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'
Я хочу обработать это конкретное исключение - то есть WindowsError с ошибкой 267. Однако я не могу просто сделать следующее:
try:
do()
except WindowsError, e:
...
Потому что это не будет работать в системах Unix, где WindowsError даже не определена в модуле исключений.
Есть ли элегантный способ справиться с этой ошибкой?