python中oserror winerror,在python中将WindowsError转换为OSError

在我维护的(遗留)代码中,人们正在使用WindowsError。我可以继续用OSError替换所有出现的情况,但是遗憾的是,winerror属性被使用了,令人高兴的是,只有三种情况下,即123:try:

mtime = int(os.path.getmtime(self._s))

except WindowsError, werr:

if werr.winerror != 123: raise

deprint(u'Unable to determine modified time of %s - probably a unicode error' % self._s)

第740页:

^{pr2}$

和32:try:

patchName.untemp() # calls shutil.move() and os.remove()

except WindowsError, werr:

while werr.winerror == 32 and self._retry(patchName.temp.s,

patchName.s):

try:

patchName.untemp()

except WindowsError, werr:

continue

break

else:

raise

如何将这些代码翻译成OSError?在

我在Python2.7中,所以不能使用appendix-a-survey-of-common-errnos" rel="nofollow">pep-3151中引入的好的异常

下面是一个关于将winerror映射到errno模块的discussion