Python | Destination path already exists エラーの原因と解決策

2023-02-26Python エラー,Python

Python | Destination path already exists エラーの原因と解決策

Pythonの実行時に発生するエラー「Destination path already exists」の原因と解決策について紹介しています。

shutil.Error:Destination path 'xxx/xxx\xxx' already exists
shutil.Error: 宛先のパス 'xxx/xxx\xxx' は既に存在します

確認環境

Windows11 ローカル
Python python-3.11.1

Destination path already exists エラーの原因

「Destination path already exists」というPythonの実行エラーはmove()関数などで、ディレクトリを移動させようとした場合に、同名のディレクトリが存在すると発生するエラーです。

例えば以下のような事がエラーの発生原因にあります。

  • 移動先に指定したディレクトリに既に同名のディレクトリが存在する

Destination path already exists エラーの発生例と解決策

「Destination path already exists」エラーは例えば、以下のように移動先に既に同名のディレクトリが存在する場合に発生します。

├ dir-name(移動前)
└ to-dir
  └ dir
   ├ dir-name
   └ dir-name(移動先)

import shutil

shutil.move("dir-name", "to-dir/dir")

# shutil.Error: Destination path 'to-dir/dir\dir-name' already exists

上記のエラーを回避するには、移動先の指定場所や名前を調節するか、オプション「dirs_exist_ok=True」を指定して上書きを許可します。

import shutil

shutil.move("dir-name", "to-dir/dir", dirs_exist_ok=True)