Esri Advanced Guide to Python 書籍のチュートリアル 4-1 にある以下のスクリプトについて質問があります。 実行すると「FileExistsError」が発生します。スクリプトは実際に新しいフォルダーと重複した .gdb ファイルを作成していますが、その理由がわかりません。以下に問題の部分とその後のエラーメッセージを示します。ありがとうございます!
source_fgdb_path = Path(r".\Parking_Violations_and_Neighborhoods.gdb")
arcpy.management.Compact(str(source_fgdb_path))
# ファイルジオデータベースを配置するフォルダーの名前
fgdb_folder_name = source_fgdb_path.stem
# ファイルジオデータベースを配置するフォルダーの場所
fgdb_folder_location = source_fgdb_path.parent
# ファイルジオデータベースを配置するフォルダーへのパス
fgdb_folder_path = fgdb_folder_location.joinpath(fgdb_folder_name)
# コピーしたファイルジオデータベースのパス
fgdb_path = fgdb_folder_path.joinpath(source_fgdb_path.name)
# ファイルジオデータベースを新しい場所にコピーする
shutil.copytree(source_fgdb_path, fgdb_path)
# ファイルジオデータベースを圧縮する
zipped_fgdb = shutil.make_archive(
base_name=fgdb_folder_path,
# アーカイブ名(ファイル拡張子を含まない)
format="zip", # アーカイブ形式
root_dir=fgdb_folder_path, # アーカイブするディレクトリ
)
---------------------------------------------------------------------------
FileExistsError Traceback (most recent call last)
Cell In[7], line 2
1 # ファイルジオデータベースを新しい場所にコピーする
----> 2 shutil.copytree(source_fgdb_path, fgdb_path)
3 # ファイルジオデータベースを圧縮する
4 zipped_fgdb = shutil.make_archive(
5 base_name=fgdb_folder_path,
6 # アーカイブ名(ファイル拡張子を含まない)
7 format="zip", # アーカイブ形式
8 root_dir=fgdb_folder_path, # アーカイブするディレクトリ
9 )
File ~\AppData\Local\Programs\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\shutil.py:573, in copytree(src, dst, symlinks, ignore, copy_function, ignore_dangling_symlinks, dirs_exist_ok)
571 with os.scandir(src) as itr:
572 entries = list(itr)
--> 573 return _copytree(entries=entries, src=src, dst=dst, symlinks=symlinks,
574 ignore=ignore, copy_function=copy_function,
575 ignore_dangling_symlinks=ignore_dangling_symlinks,
576 dirs_exist_ok=dirs_exist_ok)
File ~\AppData\Local\Programs\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\shutil.py:471, in _copytree(entries, src, dst, symlinks, ignore, copy_function, ignore_dangling_symlinks, dirs_exist_ok)
468 else:
469 ignored_names = ()
--> 471 os.makedirs(dst, exist_ok=dirs_exist_ok)
472 errors = []
473 use_srcentry = copy_function is copy2 or copy_function is copy
File <frozen os>:225, in makedirs(name, mode, exist_ok)
FileExistsError: [WinError 183]