Создание сообщение в наборе инструментов Python

Когда инструмент запущен, ArcPy точно знает, из какого приложения, например, ArcMap или ArcCatalog, он был вызван. Один из главных эффектов заключается в том, что вы можете записывать сообщения в Python, и ваши сообщения будут автоматически появляться в окне процесса, в окне Результаты инструмента, и в окне Python. Это также означает, что любая модель или инструмент-скрипт, которые вызывают ваш инструмент-скрипт, получают доступ к созданным вами сообщениям.

Более подробно о сообщениях см. Основы сообщений в инструментах-скриптах.

В наборе инструментов Python, объект messages используется для добавления дополнительных сообщений к инструменту.

Типы сообщений

Описание

addMessage(message)

Добавляет информационное сообщение в инструмент

addErrorMessage(message)

Добавляет сообщение об ошибке в инструмент

ПримечаниеПримечание:

addErrorMessage не создаст исключения.

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).getOutput(0)) == 0:
        messages.addErrorMessage("{0} has no features.".format(input))
        raise arcpy.ExecuteError
            
    return
ПримечаниеПримечание:

Сообщения могут быть также добавлены с помощь таких функций ArcPy, как, например, AddMessage. См. Типы сообщений и их опасность для получения более подробной информации.

Связанные темы

9/10/2013