您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

执行完函数后如何获取函数的局部值?

执行完函数后如何获取函数的局部值?

有两种配方可在这里一个需要外部库,另一个是只使用标准库。他们并没有 完全 按照自己的意愿去做,因为他们实际上是在修改正在执行的函数获取函数locals()而不是locals()函数执行之后,这是不可能的,因为在函数完成执行后本地堆栈不再存在。

一个选择是查看调试器(例如WinPDB或什至是pdb模块)的功能。我怀疑他们使用inspect模块(可能与其他模块一起使用)来获取函数正在执行的框架并locals()以此方式进行检索。

读取标准库中的某些代码后,您要查看的文件可能是bdb.py,该文件应位于Python标准库其余部分的任何位置。具体来说,看一下set_trace()与之相关的功能。这将使您了解Python调试器如何分解为该类。您甚至可以直接使用它。要使框架通过以set_trace()查看inspect模块。

其他 2022/1/1 18:42:57 有470人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶