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

yipeiwu_com7年前Python基础
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()

相关文章

Python对多属性的重复数据去重实例

python中的pandas模块中对重复数据去重步骤: 1)利用DataFrame中的duplicated方法返回一个布尔型的Series,显示各行是否有重复行,没有重复行显示为FALS...

pytorch中tensor的合并与截取方法

pytorch中tensor的合并与截取方法

合并: torch.cat(inputs=(a, b), dimension=1) e.g. x = torch.cat((x,y), 0) 沿x轴合并 截取: x[:,...

python sqlobject(mysql)中文乱码解决方法

UnicodeEncodeError: 'latin-1' codec can't encode characters in position; 找了一天终于搞明白了,默认情况下,mys...

为什么入门大数据选择Python而不是Java?

为什么入门大数据选择Python而不是Java?

马云说:“未来最大的资源就是数据,不参与大数据十年后一定会后悔。”毕竟出自wuli马大大之口,今年二月份我开始了学习大数据的道路,直到现在对大数据的学习脉络和方法也渐渐清晰。今天我们就来...

python3使用腾讯企业邮箱发送邮件的实例

python3使用腾讯企业邮箱发送邮件的实例

1.腾讯企业邮箱SMTP服务器地址:smtp.exmail.qq.com,ssl端口为:465 2.确保腾讯企业邮箱中开启了SMTP服务: 3.示例代码: #!/usr/bin/e...