Wenn ein Werkzeug ausgeführt wird, kennt ArcPy die Anwendung, in der es aufgerufen wurde. Dies hat einen großen Vorteil: Sie können Meldungen in Python schreiben, die dann automatisch im Werkzeugdialogfeld, im Geoverarbeitungsverlauf und im Python-Fenster 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 |
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)[0]) == 0:
messages.addErrorMessage("{0} has no features.".format(input))
raise arcpy.ExecuteError
return