0
我剛剛開始使用Python,並遇到一些問題。我已經爲ArcGIS寫了幾個腳本,並且有一些重複的東西。所以我認爲把它放在我可以再次輕鬆使用的模塊中會很明智。在原始腳本的不同模塊中使用對象
所以現在我有兩個腳本,script.py
和toolbox.py
。 我的劇本是工作的罰款,所以我複製並粘貼我需要的部分,編輯了一點,一切順利的話,除了用gp.Addmessage
script.py創建將創建消息「Hello#1」消息,但是從消息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")
謝謝你,它的工作。在那之後得到了一些其他的錯誤,其中一個抱怨在toolbox.py中找不到os,但是在將其作爲參數傳遞給工具箱模塊之後,它就像預期的那樣工作。因此,現在我有 工具箱.loadToolbox(gp,os) def loadToolbox(gp): #函數的其餘部分 – Matthieu
然後,您應該將'import os'添加到您的'toolbox'模塊。 –