执行和调试 Python

以下步骤基于在创建新 Python 脚本中创建的脚本。

查看此脚本的完整版本

步骤:
  1. 在 PythonWin 的标准 工具条上单击检查按钮 检查按钮,检查脚本中的语法和缩进错误。如果发现错误,光标会置于该错误位置处。纠正该语法,然后重新检查,直到不存在任何错误。
  2. 单击运行按钮 运行按钮,打开运行脚本 对话框。
  3. 输入脚本所需的参数:输入工作空间、裁剪要素类、输出工作空间以及 XY 容差。您可以提供自己的数据,也可以使用教程数据。下表显示了可使用的教程数据。由于数据的路径包含空格,因此将整个路径作为参数时应用引号将其括起。
  4. Path

    参数

    "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 容差是可选的,因此,要对各输入要素类使用默认的 XY 容差时,可省略该容差。

  5. 选择单步执行调试程序作为调试选项,然后单击“确定”。
  6. 将打开两个窗口:显示用户定义的表达式值的监视 窗口,以及显示系统调用堆栈中的变量值的堆栈 窗口(监视 窗口和堆栈 窗口可通过在调试 工具条上单击相应按钮 监视窗口和堆栈视图按钮 来打开或关闭。光标放置在 Python 解释的脚本的第一行中,该行是 import 语句。根据需要调整 Python 应用程序窗口的大小,以包含各个新窗口。

  7. 单击逐过程按钮 逐过程按钮。这会执行导入了所有指定模块的当前代码行,然后移到下一行。
  8. 除了逐过程按钮外,调试 工具条还包含单步执行按钮 单步执行按钮跳出按钮 跳出按钮

    • 单步执行按钮 单步执行:执行当前行并在下一行等待执行。
    • 逐过程按钮 逐过程:执行当前行。如果该行包含 Python 模块、函数或方法调用,则执行所包含的模块、函数或方法。
    • 跳出按钮 跳出:如果是在模块、函数或方法内部,则会执行模块、函数或方法中的代码,并且调试程序返回到该模块、函数或方法下面的代码处。
  9. 单击逐过程按钮多次,执行到 try 语句。
  10. 堆栈 窗口中,单击 _main_module 节点。
  11. 单击局部变量(字典)节点显示所有局部变量及其值。
  12. 将显示在交互式窗口、multi_clip 脚本以及已导入模块中设置的所有变量。使用堆栈 窗口检查变量的范围及其值,以及所有可用模块的内容。

  13. 单击逐过程按钮多次,将光标移到 while 语句。执行的这三行代码会创建可用要素类列表,并使用第一个名称填充变量 fc。
  14. 监视 窗口中,单击 <新建项目>,然后输入“fc”。按 ENTER 将表达式更改为变量名。此时即可看到该变量的值。
  15. 单击逐过程按钮两次设置输出工作空间,移到 if 语句。
  16. 单击逐过程按钮进入 if 语句的代码块,将在该处执行“裁剪”工具。
  17. 单击逐过程按钮两次执行此工具,从要素类名称枚举中检索下一要素类名称。注意监视 窗口中的 fc 变量值。
  18. 调试 工具条上单击监视 窗口和堆栈 窗口按钮 监视窗口和堆栈视图按钮,以将这两个窗口关闭。
  19. 单击交互式窗口 按钮 中间按钮。添加以下代码,然后按 ENTER:
  20. arcpy.GetMessages()
    

    裁剪工具中的所有消息都将输出到交互式窗口 中。调试会话期间,可在交互式窗口 中使用任何对象或变量,因此该窗口可用于对象检查和变量处理。

  21. 调试 工具条上单击关闭按钮 关闭按钮,停止执行脚本。
  22. 提示提示:
    字符串变量值前面为字母 u,表示 Unicode 字符串。Unicode 是一种专用于方便多语言的 16 位字符集标准。

相关主题

9/15/2013