Ben bir çalışma alanı üzerinden döngüler ve bir özellik veri kümesine şekil dosyaları yeniden adlandırır ve kopyalar kullanışlı bir komut dosyası var. Ancak, çalışma alanının herhangi bir yerinde bozuk bir şekil dosyası varsa, komut dosyası başarısız olur ve işlemeyi durdurur.
Bunun gibi hataları nasıl ele alırsınız? Hata dosyasını yazdırmanın ve for döngüsü tamamlanacak sonraki şekil dosyasını işlemeye devam etmenin bir yolu var mı?
import arcpy
from arcpy import env
# Allow overwriting of output
env.overwriteOutput = True
# Parameters
env.workspace = arcpy.GetParameterAsText(0)
state = arcpy.GetParameterAsText(1)
gdb = arcpy.GetParameterAsText(2)
# Get a list of shapefiles in folder
fcs = arcpy.ListFeatureClasses()
# Find the total count of shapefiles in list
fcCount = len(fcs)
# Set the progressor
arcpy.SetProgressor("step", "Copying shapefiles to geodatabase...", 0,fcCount, 1)
# For each shapefile, copy to a file geodatabase
try:
for shp in fcs:
# Define name for the output points
fc = str(state + shp[0:9])
# Update the progressor label for current shapefile
arcpy.SetProgressorLabel("Loading " + shp + "...")
# Copy the data
arcpy.CopyFeatures_management(shp, str(gdb + "\\" + fc))
# Update the progressor position
arcpy.SetProgressorPosition()
except Exception as e:
print "An error has occurred"
print e
arcpy.ResetProgressor()