Доступ к параметрам в инструменте-скрипте

Рисунок, приведенный ниже, показывает диалоговое окно инструмента-скрипта с тремя параметрами: входное рабочая область, вырезающий класс объектов, и выходная рабочая область. Все классы объектов во входной рабочей области вырезаются указанным вырезающим классом объектов (с помощью инструмента Вырезать (Clip)), и записываются в выходную рабочую область.

Параметры инструмента-скрипта

На приведенной выше иллюстрации после ввода значений параметров в диалоговое окно инструмента и нажатия кнопки ОК скрипт считывает значения параметров с использованием метода 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 (0-index) (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