运行工具时,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.GetCount_management(input)[0]) == 0:
messages.addErrorMessage("{0} has no features.".format(input))
raise arcpy.ExecuteError
return