I am attempting to loop through two folders, one of input files (watershed polygons) and erase features (area boundaries) using arcpy.Erase_analysis
Here is my current code:
in_cover = "G:/Files/Watersheds"
erase_cover = "G:/Files/Areas"
out_cover = "G:/Output/Erase_output/"
arcpy.env.workspace = in_cover
for fc in [os.path.join(in_cover, x) for x in arcpy.ListFeatureClasses()]:
print fc
arcpy.env.workspace = erase_cover
for fc2 in [os.path.join(erase_cover, y) for y in arcpy.ListFeatureClasses()]:
print fc2
arcpy.Erase_analysis(in_features = fc, erase_features = fc2,
out_feature_class = out_cover + "UNP_" + fc)
Running this, I get this error:
ExecuteError: Failed to execute. Parameters are not valid. ERROR 000725: Output Feature Class: Dataset G:\Output\Erase_output\XXX1.shp already exists.
It seems like the second loop is returning all files in the folder instead of one. For example, if i remove the erase function and just print, here's what happens:
arcpy.env.workspace = in_cover
for fc in [os.path.join(in_cover, x) for x in arcpy.ListFeatureClasses()]:
print fc
arcpy.env.workspace = erase_cover
for fc2 in [os.path.join(erase_cover, y) for y in arcpy.ListFeatureClasses()]:
print fc2
This returns:
G:/Files/Watersheds\WS1.shp
G:/Files/Areas\Area1.shp
G:/Files/Areas\Area2.shp
G:/Files/Areas\Area3.shp
G:/Files/Areas\Area4.shp
G:/Files/Areas\Area5.shp
G:/Files/Watersheds\WS2.shp
G:/Files/Areas\Area1.shp
G:/Files/Areas\Area2.shp
G:/Files/Areas\Area3.shp
G:/Files/Areas\Area4.shp
G:/Files/Areas\Area5.shp
G:/Files/Watersheds\WS3.shp
G:/Files/Areas\Area1.shp
G:/Files/Areas\Area2.shp
G:/Files/Areas\Area3.shp
G:/Files/Areas\Area4.shp
G:/Files/Areas\Area5.shp
...And so on.
How can I fix this?