运行工具时,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 等函数添加消息。有关详细信息,请参阅了解消息类型和严重性。