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 に答える