Python ツールボックスでのメッセージの書き込み
ツールを実行するときに、ArcPy は呼び出し元のアプリケーション(ArcMap や ArcCatalog)を完全に認識しています。この結果、Python を使用してメッセージを書き込むと、メッセージが進捗ダイアログ ボックス、[結果] ウィンドウでのツールの結果、および [Python] ウィンドウに自動的に表示されます。したがって、ツールを呼び出したモデルまたはスクリプト ツールも、書き出されたメッセージにアクセスすることができます。
メッセージの詳細については、「スクリプト ツールのメッセージについて」をご参照ください。
Python ツールボックスでは、messages オブジェクトは、ツールに追加メッセージを返すために使用されます。
メッセージ メソッド | 説明 |
---|---|
addMessage(message) | ツールのメッセージに情報メッセージを追加します。 |
addErrorMessage(message) | ツールのメッセージにエラー メッセージを追加します。 注意: addErrorMessage は例外をスローしません。 |
addWarningMessage(message) | ツールのメッセージに警告メッセージを追加します。 |
addIDMessage(message_type, message_ID, add_argument1=None, add_argument2=None) | ジオプロセシング メッセージ コードを使用して、任意のタイプのメッセージを追加します。 |
addGPMessages() | ツールのメッセージに、最後に実行したジオプロセシング ツールのメッセージを追加します。 |
メッセージの追加の例
以下の例では、入力が評価され、入力フィーチャが含まれていない場合はツールにエラー メッセージが追加され、ツールを終了するために arcpy.ExecuteError 例外が発生します。
def execute(self, parameters, messages):
input = parameters[0].valueAsText
output = parameters[1].valueAsText
# If the input has no features, add an error message, and raise
# an arcpy.ExecuteError
if int(arcpy.GetCount_management(input).getOutput(0)) == 0:
messages.addErrorMessage("{0} has no features.".format(input))
raise arcpy.ExecuteError
return
メッセージは AddMessage などの ArcPy 関数を使用しても追加できます。詳細については、「メッセージのタイプおよび重要度の概要」をご参照ください。