printing all variables

Duncan Booth duncan.booth at invalid.invalid
Mon Jun 12 04:06:22 EDT 2006


Sheldon wrote:

> Good day,
> 
> I would like to know if there is a way to print all the variables set
> in a python program with having to write
> "print variable" on all?
> 
Not all the variables in a program (that would be rather more than you 
want), but you can print all the variables in a specific namespace easily 
enough:

>>> from pprint import pprint
>>> def f(x):
    pprint(locals())

    
>>> f(2)
{'x': 2}
>>> pprint(globals())
{'__builtins__': <module '__builtin__' (built-in)>,
 '__doc__': None,
 '__name__': '__main__',
 'f': <function f at 0x00B45B30>,
 'pprint': <function pprint at 0x00B45BB0>}
>>> class C:
    classvar = []
    def __init__(self, n):
        self.n = n

        
>>> c = C(3)
>>> pprint(vars(c))
{'n': 3}
>>> pprint(vars(C))
{'__doc__': None,
 '__init__': <function __init__ at 0x00B4A070>,
 '__module__': '__main__',
 'classvar': []}
>>> 



More information about the Python-list mailing list