Spyder:如何调试 python 程序的某些部分,而无需调试/执行整个文件?

问题描述 投票:0回答:2

假设我有两个程序部分:A和B。A出现在B之前。A部分已完成并经过测试。例如,在 A 部分中,加载大文件,这可能需要相对较长的时间。 B 部分直接依赖于 A 部分,因为 B 部分使用 A 部分的数据。但 B 部分仍在开发中,这使得需要频繁调试。如果我在B部分中设置断点,那么我必须每次都强制A部分运行,以便到达B部分中的断点。是否有更优雅的方法,因为 A 部分加载的数据已经在 Spyder 的工作区中,因此已经可用于 B 部分?我可以单独调试 B 部分吗,即我可以以某种方式让 Spyder 只执行带有断点的 B 部分吗?

# Part A with time-consuming functions (e.g. loading files). Tested and ready.
# ... some code here ...

# Here comes part B which is not ready yet and still under development with 
# breakpoints. 
# ... some code here ...
python debugging spyder
2个回答
0
投票

如果我正确理解你的问题,我建议两个解决方案:

  1. 将代码重写到 Jupyter Notebook,为每个代码段分配两个(或更多)块
  2. 如果您使用 PyCharm,则可以使用
    #%%
    语法将代码划分为段命令,从而允许您单独运行每个段

0
投票

是的,Spyder 通过“调试单元”命令(Alt+Shift+Return)具有此功能。当搜索“debug”时,您可以在键盘快捷键列表中找到此命令。

© www.soinside.com 2019 - 2024. All rights reserved.