Schreiben von Meldungen in einer Python-Toolbox
Wenn ein Werkzeug ausgeführt wird, kennt ArcPy die Anwendung, in der es aufgerufen wurde, z. B. ArcMap oder ArcCatalog. Dies hat einen großen Vorteil: Sie können Meldungen in Python schreiben, die dann automatisch im Verlaufsdialogfeld, in den Werkzeugergebnissen sowie in den Fenstern Ergebnisse und Python angezeigt werden. Außerdem haben in diesem Fall auch alle Modelle und Skriptwerkzeuge, die Ihr Skriptwerkzeug aufrufen, Zugang zu den von Ihnen ausgegebenen Meldungen.
Weitere Informationen zu Meldungen finden Sie unter Meldungen in Skriptwerkzeugen.
In einer Python-Toolbox wird ein messages-Objekt zum Hinzufügen zusätzlicher Meldungen zurück an das Werkzeug verwendet.
Methoden für Meldungen | Beschreibung |
---|---|
addMessage(message) | Fügt den Meldungen des Werkzeugs eine informative Meldung hinzu |
addErrorMessage(message) | Fügt den Meldungen des Werkzeugs eine Fehlermeldung hinzu Hinweis: addErrorMessage löst keine Ausnahme aus. |
addWarningMessage(message) | Fügt den Meldungen des Werkzeugs eine Warnmeldung hinzu |
addIDMessage(message_type, message_ID, add_argument1=None, add_argument2=None) | Fügt eine Meldung beliebigen Typs mithilfe von Geoverarbeitungs-Meldungscodes hinzu |
addGPMessages() | Fügt den Meldungen des Werkzeugs Meldungen aus der letzten Ausführung eines Geoverarbeitungswerkzeugs hinzu |
Beispiel für das Hinzufügen von Meldungen
Im folgenden Beispiel wird die Eingabe ausgewertet, und wenn sie keine Eingabe-Features enthält, wird dem Werkzeug eine Fehlermeldung hinzugefügt und eine arcpy.ExecuteError-Ausnahme ausgelöst, um das Werkzeug zu beenden.
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
Meldungen können auch mit ArcPy-Funktionen wie AddMessage hinzugefügt werden. Weitere Informationen finden Sie unter Meldungstypen und Meldungsgewichtung.