使用脚本工具编写消息

运行工具时,ArcPy 完全知晓调用它的应用程序。其中一个主要作用是您可以在 Python 中写入消息,且您的消息会自动出现在工具对话框、地理处理历史记录Python 窗口中。而且调用您工具的任何模型或脚本工具均有权访问您所写入的消息。

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

在执行工具期间,系统会写入可使用地理处理函数进行检索的消息。用于写入消息的四个 ArcPy 函数如下所示:

  • AddMessage(message) - 用于一般信息性消息(严重性 = 0)
  • AddWarning(message) - 用于警告消息(严重性 = 1)
  • AddError(message) - 用于错误消息(严重性 = 2)
  • AddIDMessage(message_type, message_ID, add_argument1, add_argument2) - 用于错误和警告(message_type 参数确定严重性)。

调用 AddIDMessage() 会显示一条简短消息和该消息的 ID,这是指向有关问题的原因和解决方案的说明的链接。使用 AddError()AddIDMessage() 添加错误消息时,将会出现下面的情况:

  • 脚本继续执行。您负责添加合适的错误处理逻辑和停止执行脚本。例如,您可能需要删除中间文件或光标。
  • 根据脚本的返回结果,调用脚本或模型将收到系统错误并且停止执行。

添加消息示例

在以下示例中,系统会评估输入内容,如果不包含输入要素,则会向工具添加错误消息,并会引发 arcpy.ExecuteError 异常以结束工具运行。

import arcpy
input = arcpy.GetParameterAsText(0)
output = arcpy.GetParameterAsText(0)
       
# If the input has no features, add an error message, and raise
#  an arcpy.ExecuteError
if int(arcpy.GetCount_management(input)[0]) == 0:
    arcpy.AddError("{0} has no features.".format(input))
    raise arcpy.ExecuteError

相关主题


在本主题中
  1. 添加消息示例