当脚本作为脚本工具运行时,ArcPy 完全知道调用它的应用程序(例如 ArcMap 或 ArcCatalog)。其中一个主要作用是您可以通过 ArcPy 写入消息,并且您的消息会自动出现在进度对话框、工具结果和 Python 窗口中。这还表示调用脚本工具的任何模型或脚本工具均有权访问您所写入的消息。
在执行工具期间,系统会写入可使用地理处理函数进行检索的消息。这些消息包含如下信息:
- 操作的开始及结束时间
- 所使用的参数值
- 有关操作进度的常规信息(信息性消息)
- 潜在问题的警告(警告消息)
- 导致工具停止执行的错误(错误消息)
工具和用户之间的所有沟通均通过消息来实现。根据运行工具的位置,消息可以出现在结果窗口、Python 窗口和进度对话框中。通过 Python,您可以从脚本中提取这些消息、对其进行询问、打印或将其写入文件。所有消息都具有严重性属性,即信息性、警告或错误。严重性用一个整数表示,其中 0 = 信息性,1 = 警告,2 = 错误。
严重性 | |
---|---|
信息性消息(严重性 = 0) | 信息性消息只是有关执行的信息。从不用来指明问题。信息性消息中只包含诸如工具进度、工具开始或结束运行的时间、输出数据特征或工具结果等常规信息。 |
警告消息(严重性 = 1) | 警告消息可在以下情况下产生:工具所遇到的情况会在工具执行期间产生问题,或者结果可能不是预期结果。例如,当为已经定义了坐标系的数据集定义坐标系时就会生成警告。在返回警告时,您可以采取必要的操作,例如,取消工具的执行或选择其他参数。 |
错误消息(严重性 = 2) | 错误消息表示有重要事件已阻止工具运行。当一个或多个参数的值无效;或某个关键的执行进程或例程失败时会产生错误。 |
警告消息和错误消息均带有 6 位 ID 代码。这些 ID 代码已记录在案,可提供有关这些消息产生原因及处理方式的附加信息。当错误或警告代码在工具或进度对话框、Python 窗口或结果窗口中显示时,它们都具有一个链接,通过该链接可以直接转到相应消息的附加帮助。