我刚开始用Python,我遇到了一些问题。我已经为ArcGIS编写了一些脚本,并且有一些重复出现的东西。所以我认为把它放在我可以很容易再次使用的模块中是明智的。你知道吗
现在我有两个脚本,script.py
和toolbox.py
。
我的脚本运行得很好,所以我复制并粘贴了我需要的部分,对它进行了一些编辑,除了用gp.Addmessage
创建的消息之外,其他一切都很顺利
你知道吗脚本.py将创建消息“Hello Stackoverflow”,但是工具箱.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")
您的代码有两个问题:
你从不调用
loadToolBox
方法,你只引用它。添加()
:您的
loadToolbox()
函数没有将gp
作为参数。如果gp
是一个全局的,那么toolbox
模块将看不到它(全局的只在当前模块中可见)。你知道吗添加
gp
作为参数,并在调用loadToolbox
时传入它。在script.py
中:在
toolbox.py
中:相关问题 更多 >
编程相关推荐