Python3 初学实践案例(10)对象转字典 object to dict

我在写代码的时候遇到一个问题,就是 sqlalchemy 从数据库中查的的结果是一个对象,我虽然可以直接把这个对象用 x.id 的方式取出来内容,但是总是感觉不爽,我希望可以更好的处理这个对象。但是打印出来的结果一直是 <__main__.Passwd object at 0x10ea50cc0> 这样的东西。

通过查看文档,我找到了一个函数 vars(obj) 。这个函数可以把对象转换成字典。文档地址:https://docs.python.org/3/library/functions.html?highlight=vars#vars

但是输出的结果是这样的:

{'_sa_instance_state': <sqlalchemy.orm.state.InstanceState object at 0x10e773cf8>, 'name': 'sunmingyuan', 'id': 2, 'password': '/t22664Q44', 'time': datetime.datetime(2017, 12, 20, 5, 11, 22)}

虽然这个结果已经可以让我使用了,但是感觉还是怪怪的对么。所以,我接着搜索,终于找到了一个手写的函数,可以很好的处理这个问题:

def row2dict(row):d = {}for column in row.__table__.columns:d[column.name] = str(getattr(row, column.name))return d

用这个函数处理的结果就非常优雅了。

{'id': '17', 'name': 'love', 'password': 'xxxxx', 'time': '2017-12-22 05:08:27'}

参考地址:https://stackoverflow.com/questions/1958219/convert-sqlalchemy-row-object-to-python-dict

本文由 FungLeo 原创,允许转载,但转载必须保留首发链接。

Python3 初学实践案例(10)对象转字典 object to dict相关推荐

  1. Python3 初学实践案例(14)打造一个私人图床服务器

    Python3 初学实践案例(14)打造一个私人图床服务器 近来工作压力颇大,一直都在从事项目的开发工作,所以自学 python 的进度也拉下来一截,哎.由于进来很多项目用 react 编写,所以准备 ...

  2. 计算机应用基础实践案例10,大学计算机应用基础案例与实践(附光盘)

    摘要: 本教材根据实践教学内容的安排并结合常用的软件平台,安排了操作系统(WindowsXP),办公软件(Office2002),声音和视频(WindowsMediaPlayer8.0,Windows ...

  3. Python内置四大数据结构之字典的介绍及实践案例

    Python字典的介绍及实践案例 一.字典(Dict)介绍 字典是Python内置的四大数据结构之一,是一种可变的容器模型,该容器中存放的对象是一系列以(key:value)构成的键值对.其中键值对的 ...

  4. Redis 基础 -- 数据类型实践案例(限制每个用户每分钟最多发起10次调用、微信接收消息顺序)

    文章目录 1. 数据类型实践案例 1.1 实践案例1:限制每个用户每分钟最多发起10次调用 1.2 实践案例2:微信接收消息顺序 1. 数据类型实践案例 1.1 实践案例1:限制每个用户每分钟最多发起 ...

  5. 数据分析与挖掘中常用Python库的介绍与实践案例

    数据分析与挖掘中常用Python库的介绍与实践案例 一.Python介绍 现在python一词对我们来说并不陌生,尤其是在学术圈,它的影响力远超其它任何一种编程语言, 作为一门简单易学且功能强大的编程 ...

  6. python3解释器执行long(10)的结果为_Python3解释器执行'AB2C3D'.lower().title()的结果是( )。...

    [单选题]当知道条件为真,想要程序无限执行直到人为停止的话,可以需要下列哪个选项? [单选题]Python3解释器执行 for i,v in enumerate([0,1,2],2):print(i, ...

  7. Python Appium自动化测试框架 综合实践案例(中)

    Time will tell. 本篇章紧接上一篇继续来分享关于 Appium 自动化测试框架综合实践案例代码.框架所需要的代码实现都已基本完成. data数据封装 1.使用背景 在实际项目过程中,我们 ...

  8. 从原理到策略算法再到架构产品看推荐系统 | 附Spark实践案例

    原文链接:mp.weixin.qq.com  作者 | HCY崇远 01 前言 本文源自于前阵子连续更新的推荐系统系列,前段时间给朋友整理一个关于推荐系统相关的知识教学体系,刚好自身业务中,预计明年初 ...

  9. Unity 3D 刚体(Rigidbody)|| Unity 3D 刚体实践案例

    Unity 3D 中的 Rigidbody 可以为游戏对象赋予物理特性,使游戏对象在物理系统的控制下接受推力与扭力,从而实现现实世界中的物理学现象. 我们通常把在外力作用下,物体的形状和大小(尺寸)保 ...

最新文章

  1. 【MediaPipe】(1) AI视觉,手部关键点实时跟踪,附python完整代码
  2. python中index从列表中查_在Python中查找包含它的列表的项目的索引
  3. 【蓄电池维护】第二弹 看似普通的测试仪表笔暗藏了什么玄机?
  4. 动态页面加载速度太慢
  5. 提速 30%!腾讯TQUIC 网络传输协议
  6. python的常量和变量_python变量和常量
  7. redis系列3---理解内存
  8. 前端学习(581):使用element调试dom 查看和调试dom节点
  9. eslint airbnb 不允许尾随逗号
  10. openwrt使用linux内核版本,降低OpenWRT的Linux内核版本
  11. velocity自定义函数_velocity基本语法和总结
  12. eclipse中配置server
  13. case when then else_啃食Oracle:条件分支表达式CASE
  14. 架构设计师—你在哪层楼?
  15. CNDS的发布文章方法
  16. pandavan 固件squashfs只读文件系统如何上传应用程序
  17. 过水滑环的结构和工作原理
  18. 面试官的窒息逼问:2021最全的接口测试面试题及参考答案
  19. 【历史上的今天】1946年2月14日:世界上第一台计算机ENIAC诞生
  20. 怎么去掉微博图片中的水印,照片水印怎么去

热门文章

  1. 模式识别技术漫谈(2)
  2. python药店销售数据分析_Python:某医院药品销售数据分析
  3. 集成电路ic是什么?
  4. Jmeter如何进行接口测试-实操
  5. 【无标题】win7系统支持node14以上的版本
  6. CCF CSP认证——201312
  7. 关于审查元素与查看网页源码的区别
  8. RxSwift实战经验
  9. 非金融机构不良资产市场的规模
  10. 【工具】goland pull代码 出现 you local changes would be overwritten by merge.Commit, stash or revert ......