У меня есть следующий сценарий
arcpy.env.overwriteOutput = True
d = {edit_database: utm_database, 'GTI_EDITING.DBO.': 'GTI_PUB_UTM.DBO.'}
e = {edit_database: wm_database, 'GTI_EDITING.DBO.': 'GTI_PUB_WM.DBO.'}
arcpy.env.workspace = edit_database
listBoundaries= arcpy.ListDatasets("*Boundaries")
for bounds in listBoundaries:
inBound =os.path.join(edit_database, bounds)
arcpy.env.workspace= inBound
listBoundFC = arcpy.ListFeatureClasses()
inpBound1 = []
for BoundC in listBoundFC:
inputBoundFC = os.path.join(inBound, BoundC)
outputBoundUTM = multiple_replace(inputBoundFC, d)
outputBoundWM = multiple_replace(inputBoundFC, e)
inpBound2 = (BoundC.replace('GTI_EDITING.DBO.', ''))
inpBound1.append(inpBound2)
print inpBound1
arcpy.env.workspace = utm_database
listBound1 = arcpy.ListDatasets("*Boundaries")
for Boundout in listBound1:
OuBound = os.path.join( utm_database, Boundout)
arcpy.env.workspace = OuBound
listBoundFCoutput = arcpy.ListFeatureClasses()
outBound1 = []
for fcoutBound in listBoundFCoutput:
outBound2 = (fcoutBound.replace('GTI_PUB_UTM.DBO.',''))
outBound1.append(outBound2)
f = 0
g = 0
if inpBound1[f] <> outBound1[g]:
arcpy.CopyFeatures_management(inputBoundFC, outputBoundUTM)
arcpy.CopyFeatures_management(inputBoundFC, outputBoundWM)
print (outputBoundUTM + " and " + outputBoundWM + " have been updated .")
f+=1
g+=1
Я настроил его так, чтобы он пролистывал функции, однако это только последняя функция, которая есть в словаре. Я перепробовал все, и либо он идет только к первой или последней записи в словаре. Кто-нибудь знает, что происходит, или словари просто не работают, и я должен сделать серию циклов for и if