Escribir mensajes en una caja de herramientas Python

Cuando se ejecuta una herramienta, ArcPy está completamente al tanto de la aplicación desde la que se invoca. Un efecto importante de esto es que puede escribir mensajes en Python y estos aparecen automáticamente en el cuadro de diálogo de la herramienta, en historial de geoprocesamiento y en la ventana de Python. También significa que cualquier modelo o herramienta de secuencia de comandos que invoque la herramienta tiene acceso a los mensajes que usted escribe.

Para obtener más información sobre los mensajes, consulte Entender el envío de mensajes en las herramientas de secuencia de comandos.

En una caja de herramientas de Python, se usa un objeto messages para volver a agregar mensajes adicionales a la herramienta.

Métodos de mensajeDescripción

addMessage(message)

Agrega un mensaje informativo a los mensajes de la herramienta

addErrorMessage(message)

Agrega un mensaje de error a los mensajes de la herramienta

Nota:

addErrorMessage no generará una excepción.

addWarningMessage(message)

Agrega un mensaje de advertencia a los mensajes de la herramienta

addIDMessage(message_type, message_ID, add_argument1=None, add_argument2=None)

Agrega un mensaje de cualquier tipo usando los códigos de mensaje de geoprocesamiento

addGPMessages()

Agrega mensajes de la última ejecución de geoprocesamiento a los mensajes de la herramienta

Ejemplo de agregar mensajes

En el ejemplo siguiente, la entrada se evalúa y si no contiene entidades de entrada, se agrega un mensaje de error a la herramienta y se eleva una excepción de arcpy.ExecuteError para finalizar la herramienta.

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
Nota:

También puede agregar mensajes con funciones como AddMessage. Consulte Comprender los tipos de mensajes y la severidad para obtener más información.

Temas relacionados