在 spyder 变量资源管理器中最大化 f_locals 字典
Maximise the f_locals dictionary in spyder variable explorer
这是一个 Spyder IDE 特定问题
Spyder IDE 在变量资源管理器中不显示方法的局部变量,它只显示全局变量。因此,为了在变量资源管理器中获取局部变量,我使用了 python 中的 inspect 包。代码看起来类似于下面,程序代码相当长并且有数据框、文件指针、Excelwriters 和关系数据库的连接对象。
local_vars = {}
def databases():
global local_vars
#program codes
local_vars = inspect.currentframe().f_locals
在变量资源管理器中双击变量,我们将能够在单独的 window 中查看变量,如图中所示
但这不适用于 local_vars
字典
我该如何解决这个问题并在单独的 window 中查看 local_vars
?
了解局部变量值的最佳方法是声明一个全局字典来存储值
var = {}
def method():
var1 = 2
var2 = 3
global var
var['var1'] = var1
var['var2'] = var2
var1 = var['var1']
var2 = var['var2']
此方法允许局部变量出现在变量资源管理器中
这是一个 Spyder IDE 特定问题
Spyder IDE 在变量资源管理器中不显示方法的局部变量,它只显示全局变量。因此,为了在变量资源管理器中获取局部变量,我使用了 python 中的 inspect 包。代码看起来类似于下面,程序代码相当长并且有数据框、文件指针、Excelwriters 和关系数据库的连接对象。
local_vars = {}
def databases():
global local_vars
#program codes
local_vars = inspect.currentframe().f_locals
在变量资源管理器中双击变量,我们将能够在单独的 window 中查看变量,如图中所示
但这不适用于 local_vars
字典
我该如何解决这个问题并在单独的 window 中查看 local_vars
?
了解局部变量值的最佳方法是声明一个全局字典来存储值
var = {}
def method():
var1 = 2
var2 = 3
global var
var['var1'] = var1
var['var2'] = var2
var1 = var['var1']
var2 = var['var2']
此方法允许局部变量出现在变量资源管理器中