我刚开始使用 Python,但遇到了一些问题。我已经为 ArcGIS 编写了一些脚本,并且有一些重复出现的内容。所以我认为将它放在我可以轻松再次使用的模块中会很聪明。
所以现在我有两个脚本,script.py
和toolbox.py
. 我的脚本工作正常,所以我复制并粘贴了我需要的部分,对其进行了一些编辑,除了使用创建的消息之外,一切都很顺利gp.Addmessage
script.py 将创建消息“Hello Stackoverflow”,但来自 toolbox.py 的消息不显示。这是为什么?它加载了工具箱,因为我以后可以使用它,所以它重新识别 gp 对象。
我有点卡在这里,希望能够从模块内部打印消息,以告知该工具的用户正在发生的事情。
script.py
:
import os, sys, arcgisscripting
# Create the Geoprocessor object
gp = arcgisscripting.create()
gp.AddMessage("# Hello Stackoverflow")
import toolbox
toolbox.loadToolbox
toolbox.py
:
def loadToolbox:
try:
some code
gp.AddToolbox(path)
gp.AddMessage("# Toolbox loaded")
except:
gp.AddMessage("# Toolbox not found")