脚本在python中运行时打印/查看所有变量

Ryf*_*lex 1 python debugging error-handling python-2.7

我正在寻找一种在运行期间查看所有变量的方法,因此我可以更轻松地进行调试.

我已经尝试了以下但是我不想这样做:

import inspect

a = False
b = ""
c = "test"
d = {}
e = []
f = ["Test", "Test"]
g = ("One", "1", "Two", "2")


h = inspect.currentframe()
print h.f_locals
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望它打印它类似于下面或只是让我看看哪个变量有什么数据

a
False

b
""

c
test

d
{}

e
[]

f
test, test

g
One, 1, Two, 2
Run Code Online (Sandbox Code Playgroud)

这样我就可以轻松地看到变量及其数据......

在VBA中,它很简单,因为你有一个包含所有变量的窗口.

提前谢谢 - Hyflex

Ash*_*ary 5

你可以使用vars():

a = False
b = ""
c = "test"
d = {}
e = []
f = ["Test", "Test"]
g = ("One", "1", "Two", "2")
for k, v in vars().items():
    if not (k.startswith('__') and k.endswith('__')):
        print k,'--',v
Run Code Online (Sandbox Code Playgroud)

输出:

a -- False
c -- test
b -- 
e -- []
d -- {}
g -- ('One', '1', 'Two', '2')
f -- ['Test', 'Test']
Run Code Online (Sandbox Code Playgroud)

帮助vars:

>>> print vars.__doc__
vars([object]) -> dictionary

Without arguments, equivalent to locals().
With an argument, equivalent to object.__dict__.
Run Code Online (Sandbox Code Playgroud)