Python中怎么对齐打印对象属性
发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,Python中怎么对齐打印对象属性,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。对齐打印对象属性print 输出对象 d
千家信息网最后更新 2024年11月19日Python中怎么对齐打印对象属性
Python中怎么对齐打印对象属性,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
对齐打印对象属性
print 输出对象 dict 全挤在一行,很难看。因此希望输出类似 json 对齐的方式。
基本的思想是转成 json 格式再输出。随便一搜,找到如下代码,普通情况下可用:
def obj_to_json(): stu = Student(28, 'male', '13000000000', '123@qq.com') print(type(stu)) #print(stu) stu = stu.__dict__ # 将对象转成dict字典 print(type(stu)) # print(stu) j = json.dumps(obj=stu, indent=4) print(j)
但有些对象中会包含一些特殊属性,如另外一个对象,则用此法会报错:
TypeError: Object of type xxx is not JSON serializable
其实就是 JSON 不支持这种对象。我们可以自定义处理特殊对象的方法,完整代码如下:
# encoding:utf-8# author: overimport jsonfrom datetime import datetime, dateclass Student(object): def __init__(self, age, sex, mobile, date): self.age = age self.sex = sex self.mobile = mobile self.date = date# 扩展 json 无法解析的类型class ComplexEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj, datetime): # return obj.strftime('%Y-%m-%d %H:%M:%S') return str(obj) elif isinstance(obj, date): # return obj.strftime('%Y-%m-%d') return str(obj) else: try: return json.JSONEncoder.default(self, obj) except Exception as e: print('type not support: '+str(obj)) # 默认的处理不了直接强转字符串 return str(obj)# json 对齐方式输出对象所有属性,方便查看def printJson(obj): if hasattr(obj,'__dict__'): obj = obj.__dict__ # ensure_ascii=False 中文不变成百分符 # indent 缩进行增加的空格数 j = json.dumps(obj, cls=ComplexEncoder, ensure_ascii=False, indent=4) print(j)if __name__ == '__main__': stu = Student(28, 'male', '13000000000', datetime.now()) printJson(stu)
输出:
{
"age": 28,
"sex": "male",
"mobile": "13000000000",
"date": "2019-07-07 14:43:51.466416"
}
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
对象
输出
属性
特殊
代码
方式
处理
帮助
支持
普通
清楚
难看
一搜
一行
内容
字典
字符
字符串
对此
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
读出数据库数据表中的所有内容
oracle数据库模拟器
数据库系统有什么例子
必看事关所有人的网络安全
自用服务器组装推荐
网络安全绘画创意作品水粉
计算机网络技术通俗点
网络安全感个人报告
杀毒服务器网络版中标价格
数据库识认盘重复问题
易语言怎样打印数据库
山东哪里有存储服务器供货商
聊城共享陪护椅软件开发
广东海讯网络技术有限公司
怎么搭建静态网页服务器
与网络安全有关的新闻
php数据库注册登录例子
软件开发的 需求
数据库 专著
软件开发测试抑郁症表现
杭州网络安全工程师招聘
风清扬输入法软件开发
医院网络安全自查摸底总结
网络技术工程师转岗
win98更改服务器时间
软件软件开发培训机构
数据库系统答案第四版
温州手机软件开发中心
网络安全mg动画脚本
数据库中属于数据控制语言的是