Skip to main content

Python 工具箱消息

当工具运行时,ArcPy 会识别调用它的应用程序。 因此,您可以在 Python 中写入消息。 这些消息会自动出现在工具对话框、地理处理历史记录Python 窗口中。 这还表示调用工具的任何模型或脚本工具均有权访问您所写入的消息。

要了解有关消息传递的详细信息,请参阅了解脚本工具中的消息传递

在 Python 工具箱中,可以在 execute 方法中访问 messages 对象以将消息添加回工具。 用于写入消息的 5 个方法如下所示:

方法

描述

addMessage(message)

工具消息中会添加一条信息性消息。

addWarningMessage(message)

工具消息中会添加一条警告信息。

addErrorMessage(message)

工具消息中会添加一条错误消息。

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

地理处理消息代码可用来添加一条任意类型的消息。

addGPMessages()

上一次地理处理工具运行时的消息会添加到工具消息中。

注:

也可使用诸如 AddMessage 等脚本工具函数来添加消息。 有关详细信息,请参阅在脚本工具中写入消息

添加消息示例

在以下示例中,系统会评估输入内容,如果不包含输入要素,则会向工具添加错误消息,并会引发 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.management.GetCount(input)[0]) == 0:
     messages.addErrorMessage("{0} has no features.".format(input))
     raise arcpy.ExecuteError

 return