Parámetros de acceso en una herramienta de secuencia de comandos
La siguiente ilustración muestra el cuadro de diálogo de una secuencia de comandos con tres parámetros: un espacio de trabajo de entrada, una clase de entidad de recorte y un espacio de trabajo de salida. Todas las clases de entidades del espacio de trabajo de entrada se recortan según la clase de entidad de recorte (usando la herramienta Recortar) y se escriben en el espacio de trabajo de salida.
En la ilustración anterior, una vez introducidos los valores de parámetros en el cuadro de diálogo de la herramienta y después de hacer clic en el botón OK, la secuencia de comandos lee los valores de los parámetros utilizando GetParameterAsText() como sigue:
# Import arcpy site-package # import arcpy from arcpy import env # Read the parameter values: # 1: input workspace # 2: input clip features # 3: output workspace # inWorkspace = arcpy.GetParameterAsText(0) clipFeatures = arcpy.GetParameterAsText(1) outWorkspace = arcpy.GetParameterAsText(2) env.workspace = inWorkspace
sys.argv y arcpy.GetParameterAsText
Hay dos métodos para leer parámetros: sys.argv y la función arcpy GetParameterAsText(). Puede utilizar cualquiera de los dos. El ejemplo anterior podría reescribirse para que use sys.argv:
# Read the parameter values: # 1: input workspace # 2: input clip features # 3: output workspace # inWorkspace = sys.argv[1] clipFeatures = sys.argv[2] outWorkspace = sys.argv[3] env.workspace = inWorkspace
sys.argv tiene limitaciones sobre el número de caracteres que puede aceptar. GetParameterAsText() no tiene límite de caracteres. Sólo por este motivo, se recomienda usar GetParameterAsText.
sys.argv[0] devuelve el nombre del archivo de secuencia de comandos.