Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 覆盖不工作_Python_Gis_Overwrite_Arcpy - Fatal编程技术网

Python 覆盖不工作

Python 覆盖不工作,python,gis,overwrite,arcpy,Python,Gis,Overwrite,Arcpy,我在这里看到过其他的帖子涉及到我的问题,但是没有一个帖子适用于我的问题或者提供了解决方案,所以我想我应该发布一个新的帖子 基本上,我正在创建一个脚本,通过将要素类转换为shapefile,每周运行一次并更新shapefile(从技术上讲,它会更新与shapefile关联的8个文件,包括CPG)。目前,我已将其设置为删除现有文件,然后重新导出它们,但我更希望它们被覆盖。无论出于什么原因,我都无法覆盖它;它只是创建相同的文件,并在末尾附加“_1”。我哪里做错了?谢谢 import arcpy, os

我在这里看到过其他的帖子涉及到我的问题,但是没有一个帖子适用于我的问题或者提供了解决方案,所以我想我应该发布一个新的帖子

基本上,我正在创建一个脚本,通过将要素类转换为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)

我知道最后几行不应该分开;它们不在我的代码中,我只是在文章中遇到了格式化问题。

我将使用FeatureClassToShapefile,而不是使用FeatureClassToShapefile,因此您可以显式指定输出的名称(不仅仅是输出工作区),它将被覆盖:

arcpy.CopyFeatures_management(os.path.join(connStr, inputParcels), os.path.join(outWrkSpc, shpParcels))
这也是另一个非常适合的地方

两者都将接受shapefile作为输入和/或输出

如的帮助页面中所述(该页面应用于一步处理多个输入形状文件):

如果输出文件夹中已存在输出shapefile,请输入一个数字 将附加到末尾以使shapefile名称唯一(对于 例如,rivers_1.shp)


我将使用FeatureClassToShapefile,而不是使用FeatureClassToShapefile,这样您可以显式指定输出的名称(不仅仅是输出工作区),并且它将被覆盖:

arcpy.CopyFeatures_management(os.path.join(connStr, inputParcels), os.path.join(outWrkSpc, shpParcels))
这也是另一个非常适合的地方

两者都将接受shapefile作为输入和/或输出

如的帮助页面中所述(该页面应用于一步处理多个输入形状文件):

如果输出文件夹中已存在输出shapefile,请输入一个数字 将附加到末尾以使shapefile名称唯一(对于 例如,rivers_1.shp)


请注意存在堆栈交换。请注意存在堆栈交换。我正在尝试将GDB要素类导出到不在GDB内的形状文件;复制特性不会尝试作为GDB特性类进行复制吗?我也很好奇我在覆盖过程中做错了什么。我可能需要它来解决将来的问题。因此,使用“要素类到要素类”操作将允许覆盖文件,但“要素类到形状文件”操作将不会?这就是你所说的要点吗?我试图将一个GDB要素类导出到一个不在GDB中的shapefile;复制特性不会尝试作为GDB特性类进行复制吗?我也很好奇我在覆盖过程中做错了什么。我可能需要它来解决将来的问题。因此,使用“要素类到要素类”操作将允许覆盖文件,但“要素类到形状文件”操作将不会?这就是你说的要点吗?