欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

打印出python 当前全局变量和入口参数的所有属性

程序员文章站 2023-02-22 20:28:03
def cndebug(obj=false): """ author : nemon update : 2009.7.1 to use : cndebug(obj) or...
def cndebug(obj=false):
"""
author : nemon
update : 2009.7.1
to use : cndebug(obj) or cndebug() or myobject.debug=cndebug
license: gpl
"""
print('='*80)
print('='*30 + ' global variables ' +'='*30)
print('='*80)
g=globals()
for x,y in g.iteritems():
if x[:1]!='_':
print ( x + ' := '+ str(type(y)))
print ( y)
print ( '')
if obj:
print('='*80)
print('='*30 + ' local variables ' +'='*30)
print('='*80)
for o in dir(obj):
#if o[:1]!='_':
print (o + ' := ' + str(type(getattr(obj,o))))
print ( getattr(obj,o))
print ( '')
print('='*80)
o=raw_input('press <enter> to resume...')
del x,y,o


简单用法:

1)打印出python 当前全局变量

cndebug()#

2)打印出当前全局变量和myobj的所有属性

myobj={}

cndebug(myobj)

扩展用法——当作类方法,打印实例的成员

>>> class myobj():
... debug=cndebug
...
>>> myobj1=myobj()
>>> myobj1.debug()