Select to view content in your preferred language

Esri Advanced Guide to Python in ArcGis Tutorial 4-1 creating a "FileExistsError"

133
0
2 weeks ago
MeenakshiSundaresan
New Contributor

I have a question about the following script in Tutorial 4-1 of the Esri Advanced Guide to Python book: when I run it, it produces a "FileExistsError"; the script is in fact creating a new folder and a duplicate .gdb file, but I don't know why. Below is the portion in question with the subsequent error message. Thanks!

source_fgdb_path = Path(r".\Parking_Violations_and_Neighborhoods.gdb")

arcpy.management.Compact(str(source_fgdb_path))

# The name of the folder to place the file geodatabase in
fgdb_folder_name = source_fgdb_path.stem
# The location of the folder to place the file geodatabase in
fgdb_folder_location = source_fgdb_path.parent
# The path to the folder to place the file geodatabase in
fgdb_folder_path = fgdb_folder_location.joinpath(fgdb_folder_name)
# The path of our copied file geodatabase
fgdb_path = fgdb_folder_path.joinpath(source_fgdb_path.name)

# Copy the file geodatabase to the new location
shutil.copytree(source_fgdb_path, fgdb_path)
# Zip the file geodatabase
zipped_fgdb = shutil.make_archive(
base_name=fgdb_folder_path,
# The name of the archive, not including the file extension
format="zip", # The archive format
root_dir=fgdb_folder_path, # The directory to archive
)

---------------------------------------------------------------------------
FileExistsError                           Traceback (most recent call last)
Cell In[7], line 2
      1 # Copy the file geodatabase to the new location
----> 2 shutil.copytree(source_fgdb_path, fgdb_path)
      3 # Zip the file geodatabase
      4 zipped_fgdb = shutil.make_archive(
      5     base_name=fgdb_folder_path,
      6     # The name of the archive, not including the file extension
      7     format="zip", # The archive format
      8     root_dir=fgdb_folder_path, # The directory to archive
      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] 

 

0 Kudos
0 Replies