私はPythonを使い始めたばかりで、いくつかの問題を抱えています。私はすでに ArcGIS 用のスクリプトをいくつか書いており、いくつかの繰り返しの作業がありました。ですから、それを簡単に再利用できるモジュールに入れるのが賢明だと思いました。
これで、2 つのスクリプト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")