访问脚本工具中的参数

下图显示了一个脚本工具对话框,其中包含三个参数:输入工作空间、裁剪要素类和输出工作空间。输入工作空间中的所有要素类都被裁剪为裁剪要素类(使用裁剪工具)并被写入输出工作空间。

脚本工具参数

在上图中,于工具对话框中输入参数值并单击确定按钮后,脚本使用 GetParameterAsText 读取参数值,如下所示:

import arcpy

# Read the parameter values:
#  1: input workspace
#  2: input clip features
#  3: output workspace
#
in_workspace = arcpy.GetParameterAsText(0)
clip_features = arcpy.GetParameterAsText(1)
out_workspace = arcpy.GetParameterAsText(2)
arcpy.env.workspace = in_workspace

sys.argv

在 Python 中,sys.argv 提供了读取参数值的另一种方法。上例可被重新编写以使用 sys.argv,如下所示。可以看到 GetParameterAsText 中的参数索引的改变。这是因为 0 - 索引 (sys.argv[0]) 将返回脚本文件路径和名称。

import arcpy
import sys

# Read the parameter values:
#  1: input workspace
#  2: input clip features
#  3: output workspace
#
in_workspace = sys.argv[1]
clip_features = sys.argv[2]
out_workspace = sys.argv[3]
arcpy.env.workspace = in_workspace

sys.argv 对可接受的字符有数量限制。GetParameterAsText 没有字符限制。仅仅出于此原因,建议您使用 GetParameterAsText

相关主题


在本主题中
  1. sys.argv