下图显示了一个脚本工具对话框,其中包含三个参数:输入工作空间、裁剪要素类和输出工作空间。输入工作空间中的所有要素类都被裁剪为裁剪要素类(使用裁剪工具)并被写入输出工作空间。
在上图中,于工具对话框中输入参数值并单击确定按钮后,脚本使用 GetParameterAsText() 读取参数值,如下所示:
# 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 和 arcpy.GetParameterAsText
读取参数的方法有两种:sys.argv 和 arcpy 函数 GetParameterAsText()。可使用任何一种方法。上例可被重新编写以使用 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 在可接受的字符数方面具有限制。GetParameterAsText() 没有字符限制。仅仅出于此原因,建议您使用 GetParameterAsText。
sys.argv[0] 返回脚本文件名。