首页 > 解决方案 > Spyder:如何在不必调试/执行整个文件的情况下调试 python 程序的一部分?

问题描述

假设我有两个程序部分: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 ...

标签: pythondebuggingspyder

解决方案


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

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

推荐阅读