Tengo un aparentemente simple código que se repite a través de una lista de clases de entidad y calcula el campo ID de la tabla de atributos que es igual a los 5 primeros caracteres de función nombre de la clase. El script funciona bien si me codificar el área de trabajo. Tan pronto como lo puedo cambiar a "recibir como Parámetro el Texto" recibo este error:
ERROR 000539: Error al ejecutar la expresión: expresión : nombre de la 'expresión' no está definido No se pudo ejecutar (CalculateField).
La secuencia de comandos es:
import arcpy, sys, array, time, datetime
#Get feature dataset
inws = arcpy.GetParameterAsText(0)
#Set geoprocessing environments
arcpy.env.workspace = inws
arcpy.env.overwriteOutput = True
#Iterate through the list of feature classes
fcList = arcpy.ListFeatureClasses()
for fc in fcList:
print str("processing" + fc)
#Define field and expression
field = "SID"
expression = str(fc[:5])
#Create a new field name and expression
arcpy.AddField_management(fc, field, "TEXT")
arcpy.CalculateField_management(fc, field, "expression", "PYTHON")
¿alguien sabe qué está pasando aquí? Gracias!