5

我想移动一个文件,但如果找不到它,我应该忽略它。在所有其他情况下,应传播异常。我有以下一段 Python 代码:

try:
    shutil.move(old_path, new_path)
except IOError as e:
    if e.errno != 2: raise e

errno == 2 是具有“没有这样的文件或目录”描述的那个。我想知道这在 Python 版本和平台等方面是否稳定。

4

1 回答 1

7

最好使用errno模块中的值,而不是硬编码值2

try:
    shutil.move(old_path, new_path)
except IOError as e:
    if e.errno != errno.ENOENT: raise e

这使得您的代码不太可能在整数错误值更改时中断(尽管这不太可能发生)。

于 2012-09-05T14:11:58.470 回答