0
(旧式の)コードでは、私は人々がWindowsError
を使用していることを維持しています。私は先に行くと、OSError
とのすべての出現を置き換えますがwinerror
属性悲しいかな幸せにのみ3例では、使用されている可能性 - すなわち123:PythonのWindowsErrorからOSErrorへの変換
try:
popen = subprocess.Popen(args, close_fds=bolt.close_fds)
if wait: popen.wait()
except UnicodeError:
self._showUnicodeError()
except WindowsError as werr:
if werr.winerror != 740:
self.ShowError(werr)
と32:
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)
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
にどのように翻訳しますか?私のpython 2.7でそう、私はここでpep-3151
で導入された素敵な例外を使用することはできません午前
のerrnoモジュール