我已经看到其他线索在这里触及我遇到的问题,但它们都没有适用于我的问题或提供解决方案,所以我想我发布了一个新主题
基本上,我创建了一个每周运行并更新shapefile的脚本(从技术上讲,它通过将要素类转换为shapefile来更新与shapefile关联的8个文件,包括CPG)。目前我已经设置删除现有文件,然后重新导出它们,但我宁愿让它们被覆盖。无论出于何种原因,我无法覆盖它;它只是用" _1"创建相同的文件。附在最后。我哪里错了?谢谢!
import arcpy, os
from arcpy import env
import time
import smtplib
arcpy.env.overwriteOutput = True
connStr = "D:\Jobs\BSA-GIS-Shapefiles\Connections\GIS_Enterprise.sde"
outWrkSpc = "\\\gis\gisdata\BSA_Shapes"
inputParcels = "GISEnterprise.EOWNER.CParcel"
inputParcelAnnoAddr = "GISEnterprise.EOWNER.cParcel_Anno_Address"
inputPlats = "GISEnterprise.EOWNER.cPlat"
shpParcels = "CParcel.shp"
shpParcelAnnoAddr = "cParcel_Anno_Address.shp"
shpPlats = "cPlat.shp"
env.workspace = outWrkSpc
try:
arcpy.Delete_management(shpParcels)
arcpy.Delete_management(shpParcelAnnoAddr)
arcpy.Delete_management(shpPlats)
arcpy.FeatureClassToShapefile_conversion(os.path.join(connStr,
inputParcels),outWrkSpc)
arcpy.FeatureClassToShapefile_conversion(os.path.join(connStr
,inputParcelAnnoAddr), outWrkSpc)
arcpy.FeatureClassToShapefile_conversion(os.path.join(connStr
,inputPlats), outWrkSpc)
我知道那些最后一行不应该分开;它们不在我的代码中,我只是在帖子中格式化了。
答案 0 :(得分:0)
我不使用FeatureClassToShape文件,而是使用CopyFeatures,因此您可以显式指定输出的名称(不仅仅是输出工作区),它将被覆盖:
arcpy.CopyFeatures_management(os.path.join(connStr, inputParcels), os.path.join(outWrkSpc, shpParcels))
Feature Class to Feature Class也非常适合。
两者都接受shapefile作为输入和/或输出。
正如Feature Class To Shapefile的帮助页面所述(它应该用于一步处理多个输入shapefile):
如果输出shapefile中已存在输出shapefile,则为数字 将附加到末尾以使shapefile名称唯一(for rivers ,.shp)。