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

При запуске инструмента в ArcPy доступна информация о том, из какого приложения он был вызван. Один из главных эффектов заключается в том, что вы можете записывать сообщения в 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)[0]) == 0:
        messages.addErrorMessage("{0} has no features.".format(input))
        raise arcpy.ExecuteError
            
    return
Примечание:

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

Связанные разделы