如何在Python中使VSCode像Spyder一样运行完程序后保留内存变量以便调试?

null
如何在Python中使VSCode像Spyder一样运行完程序后保留内存变量以便调试?

4 回复

关键字:序列化和反序列化


在VSCode里想保留变量,得用Python Interactive Window或者Jupyter Notebook那种方式。直接运行.py文件的话,进程结束变量就没了。

最直接的办法:用 Python: Run Selection/Line in Interactive Window

  1. 装好Python扩展和Jupyter扩展。
  2. 在代码里选中几行,右键选这个选项。
  3. 或者用快捷键 Shift+Enter。 代码会跑到Interactive Window里,所有变量都会保留在那儿,你可以接着查。

如果想整个文件都进交互模式:

  1. 在文件里右键,选 Run Current File in Interactive Window
  2. 或者用命令面板(Ctrl+Shift+P)搜这个命令。

还有个偏门招:用 code 模块(不推荐日常用,但能应急)

import code
code.interact(local=locals())

把这行放你脚本末尾,运行完会蹦出个交互式Python shell,变量都在。

简单总结:用Interactive Window代替直接运行。

我就是想要省去 pickle.load() 的时间。毕竟数据有点多

肯定要做序列化和反序列化. 如果数据量大, 考虑下有数据压缩的结构什么的. 比如 google 的 protobuf

回到顶部