При запуске инструмента в ArcPy доступна информация о том, из какого приложения он был вызван. Один из главных эффектов заключается в том, что вы можете записывать сообщения в Python, и ваши сообщения будут автоматически появляться в диалоговом окне инструмента, в Истории геообработки и в окне Python. Это также означает, что любая модель или инструмент-скрипт, вызывающие ваш инструмент-скрипт, получают доступ к созданным вами сообщениям.
Более подробно о сообщениях см. Основы сообщений в инструментах-скриптах.
В наборе инструментов Python объект messages используется для добавления дополнительных сообщений к инструменту.
Типы сообщений | Описание |
---|---|
addMessage(message) | Добавляет информационное сообщение в инструмент |
addErrorMessage(message) | Добавляет сообщение об ошибке в сообщения инструмента |
addWarningMessage(message) | Добавляет предупреждение в сообщения инструмента |
addIDMessage(message_type, message_ID, add_argument1=None, add_argument2=None) | Добавляет различные типы сообщений, используя коды сообщений геообработки |
addGPMessages() | Добавляет сообщения последнего запущенного инструмента геообработки в сообщения инструмента |
Пример добавления сообщений
В приведенном ниже примере выполняется оценка входных данных и, если они не содержат входных объектов, в инструмент добавляется сообщение об ошибке, и вызывается исключение arcpy.ExecuteError для завершения выполнения инструмента.
def execute(self, parameters, messages):
input = parameters[0].valueAsText
output = parameters[1].valueAsText
# If the input has no features, add an error message, and raise
# an arcpy.ExecuteError
if int(arcpy.GetCount_management(input)[0]) == 0:
messages.addErrorMessage("{0} has no features.".format(input))
raise arcpy.ExecuteError
return