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

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

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

На изображении выше показано, как только значения параметров введены в диалоговом окне инструмента и нажата кнопка Выполнить, скрипт считывает значения параметров с помощью функции 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