Zugreifen auf Parameter in einem Skriptwerkzeug

Die folgende Abbildung zeigt das Dialogfeld eines Skriptwerkzeugs mit drei Parametern: einem Eingabe-Workspace, einer Clip-Feature-Class und einem Ausgabe-Workspace. Alle Feature-Classes im Eingabe-Workspace werden mit dem Werkzeug Ausschneiden auf die Clip-Feature-Class zugeschnitten und in den Ausgabe-Workspace geschrieben.

Skriptwerkzeugparameter

Nachdem die Parameterwerte im Werkzeugdialogfeld eingegeben wurden und auf die Schaltfläche OK geklickt wurde (siehe Abbildung oben), liest das Skript die Werte der Parameter mit der GetParameterAsText()-Methode wie folgt:

# 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" und "arcpy.GetParameterAsText"

Es gibt zwei Methoden zum Lesen von Parametern: sys.argv und die ArcPy-Funktion GetParameterAsText(). Sie können beide Ansätze verwenden. Das obige Beispiel kann für die Verwendung der sys.argv-Methode umgeschrieben werden:

# 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 kann nur eine eingeschränkte Anzahl von Zeichen akzeptieren. GetParameterAsText() hat keine Zeichenbegrenzung. Schon aus diesem Grund empfiehlt sich die Verwendung der GetParameterAsText()-Methode.

sys.argv[0] gibt den Skriptdateinamen zurück.

Verwandte Themen

9/11/2013