我想移动一个文件,但是在找不到的情况下我应该忽略它。在所有其他情况下,应该传播异常。我有以下Python代码:
try:
shutil.move(old_path, new_path)
except IOError as e:
if e.errno != 2: raise e
errno == 2是具有“无此文件或目录”描述的那个。我想知道这在Python版本和平台上是否稳定等等。
答案 0 :(得分:7)
最好使用errno模块中的值,而不是对值2
进行硬编码:
try:
shutil.move(old_path, new_path)
except IOError as e:
if e.errno != errno.ENOENT: raise e
这使得您的代码在整数错误值发生变化时不太可能中断(尽管不太可能发生)。