在我维护的(遗留)代码中,人们正在使用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