Python の実行とデバッグ

以下の手順は、「Python スクリプトの新規作成」で作成したスクリプトを基にしています。

このスクリプトの完全版を表示

手順:
  1. PythonWin の [Standard] ツールバーで、[Check] ボタン [Check] ボタン をクリックして、スクリプトに構文エラーやインデント エラーがないかチェックします。エラーが見つかった場合は、カーソルがその場所に移動します。エラーがなくなるまで、構文を修正して再チェックします。
  2. [Run] ボタン [Run] ボタン をクリックして、[Run Script] ダイアログ ボックスを表示します。
  3. スクリプトに必要なパラメータを入力します。入力ワークスペース、クリップ フィーチャクラス、出力ワークスペース、XY 許容値があります。独自のデータを指定するか、チュートリアル データを使用することができます。使用できるチュートリアル データを次の表に示します。データのパスにはスペースが含まれているため、パラメータとして使用するときはパス全体を引用符で囲んでください。
  4. パス

    パラメータ

    "C:\ArcGIS\ArcTutor\GP Service Examples\DriveTimePolygons\ToolData\SanFrancisco.gdb\Transportation"

    入力ワークスペース

    "D:\ArcGIS\ArcTutor\GP Service Examples\DriveTimePolygons\ToolData\SanFrancisco.gdb\BaseMap\Parks"

    クリップ フィーチャクラス

    "D:\ArcGIS\ArcTutor\GP Service Examples\DriveTimePolygons\Scratch\Scratch.gdb"

    出力ワークスペース

    5

    XY 許容値

    スクリプトで使用できるチュートリアル データ

    XY 許容値は [クリップ(Clip)] ツールではオプションになるため、各入力フィーチャクラスに対してデフォルトの XY 許容値を使用する場合は省略することができます。

  5. デバッグ オプションとして [Step-through in the debugger] を選択し、[OK] をクリックします。
  6. 2 つのウィンドウが表示されます。[Watch] ウィンドウには定義した式の値が表示され、[Stack] ウィンドウにはシステムのコール スタックにある変数の値が表示されます([Watch] ウィンドウと [Stack] ウィンドウは、[Debugging] ツールバーのそれぞれのボタン Watch ウィンドウのボタンと Stack View ボタン をクリックすることにより、表示と非表示を切り替えることができます)。カーソルが置かれているスクリプトの 1 行目が Python によって解釈されます。ここでは import ステートメントになります。新しいウィンドウが適切に表示されるように、必要に応じて Python アプリケーション ウィンドウのサイズを調整します。

  7. [Step Over] ボタン [Step Over] ボタン をクリックします。コードの現在の行が実行され(指定したすべてのモジュールをインポート)、次の行に移動します。
  8. [Debugging] ツールバーには、[Step Over] ボタンの他に [Step] ボタン [Step] ボタン[Step Out] ボタン [Step Out] ボタン もあります。

    • [Step] ボタン Step:現在の行を実行し、次の行で待機します。
    • [Step Over] ボタン Step Over:現在の行を実行します。この行に Python のモジュール、関数、メソッドの呼び出しが含まれていた場合は、該当するモジュール、関数、メソッドが実行されます。
    • [Step Out] ボタン Step Out:モジュール、関数、メソッド内部では、そのコードが実行され、デバッガはそのモジュール、関数、メソッドに続くコードに戻ります。
  9. [Step Over] ボタンを数回クリックして、try ステートメントまで進みます。
  10. [Stack] ウィンドウで _main_module node をクリックします。
  11. [Locals (Dict)] ノードをクリックして、すべてのローカル変数とその値を表示します。
  12. 対話形式のウィンドウで設定したすべての変数と multi_clip スクリプトの他、インポートしたモジュールも表示されます。[Stack] ウィンドウを使用して、変数の範囲と各変数の値、使用可能なすべてのモジュールの内容を確認します。

  13. [Step Over] ボタンを数回クリックして、カーソルを while ステートメントまで移動します。実行した 3 行により、使用可能なフィーチャクラスのリストが作成され、変数 fc に 1 つ目の名前が入ります。
  14. [Watch] ウィンドウで、<New Item> をクリックし、「"fc"」と入力します。Enter キーを押して、式を変数名に変更します。変数の値が表示されます。
  15. [Step Over] ボタンを 2 回クリックして出力ワークスペースを設定し、if ステートメントまで移動します。
  16. [Step Over] ボタンをクリックして、if ステートメント内の [クリップ(Clip)] ツールを実行するコード ブロックに移動します。
  17. [Step Over] ボタンを 2 回クリックしてツールを実行し、列挙されたフィーチャクラス名から次のフィーチャクラス名を取得します。fc 変数の値を [Watch] ウィンドウで確認してください。
  18. [Debugging] ツールバーの [Watch] ウィンドウと [Stack] ウィンドウのボタン Watch ウィンドウのボタンと Stack View ボタン をクリックして、ウィンドウを閉じます。
  19. [Interactive window] ボタン [Interactive window] ボタン をクリックします。次のコードを追加して、Enter キーを押します。
  20. arcpy.GetMessages()

    [クリップ(Clip)] ツールからのすべてのメッセージが [Interactive window] に表示されます。[Interactive window] ではデバッグ中も任意のオブジェクトや変数を使用できるので、オブジェクトの照会や変数の操作に使用することができます。

  21. [Debugging] ツールバーで [Close] ボタン [Close] ボタン をクリックして、スクリプトの実行を停止します。
  22. ヒントヒント:
    値の前に u の文字が付いている文字列変数は、Unicode 文字列であることを示します。Unicode は、複数言語を使用できるように設計された 16 ビットの文字セット標準です。

関連項目


7/10/2012