你的第一份Python库源码阅读:records库

如题所述

第1个回答  2022-06-21

records库的使用非常简单且人性化,定义数据库连接串和sql语句,然后将返回值作为rows打印出来,或者输出为文件,没有复杂的orm逻辑,实现逻辑很清晰

records有一些pip依赖,每个依赖项的作用如下:

Database类:

封装基本数据库操作,主要使用query方法,调用SQLAlchemy的方法,获取结果后调用Record类获得Record生成器,再调用RecordCollection获得所有的结果

Record类:

接收database查询后的keys和rows,初始化时,检测是否长度一致,然后对其包装,使其支持迭代,支持直接to_dict转为dict对象,支持直接export导出。

RecordCollection类:

部分方法和Record类相同,但RecordCollection实现了first方法,获取第一个row,如果不存在,则默认default为none,如果defalut本身就是实例或者exception的子类,直接抛出异常,另外,实现了一次实例化后多次查询时的缓存。

全局变量和方法:

基础概念:

相似回答