python轻量级数据库(python操作三大主流数据库)

在写程序的时候经常会需要将数据保存到本地,比如是配置文件,或者是中间过程数据,通过情况下我会选择 json、pickle 或者 sqlite。但是他们都有点不大方便。

比如 json 和 pickle,需要先序列化保存到文件,读的时候再反序列化成 Python 对象。往往搞不清楚是 load 还是 dump,是 loads 还是 dumps,需要查下文档。而 sqlite,虽然是文件数据库,但用起来和大的数据库 MySQL 的复杂度也差不多。

今天分享一下这些专门为 Python 打造的轻量级数据库,使用起来真的简单到爆,写代码时没有记忆负担。

Shelve

如果说 Python 中的字典(dict)是保存在内存中的,那么标准库 shelve[1] 就像是保存在文件中的字典,它的值可以为为任意 pickle 模块能够处理的 Python 对象,这包括大部分类实例、递归数据类型,以及包含大量共享子对象的对象,它的键则为普通的字符串。

使用方法:shelve.open(filename, flag=’c’, protocol=None, writeback=False)

示例代码如下,可以看下注释:

import shelve

# 写入
db = shelve.open("store")
db["data"] = {"name": "Python七号", "author": "somenzz"}
db.close()

# 会生成文件 store.db

# 推荐这种写法 
with shelve.open("store") as db:
    db["data"] = {"name": "Python七号", "author": "somenzz"}


#读取
with shelve.open("store") as db:
    print(db["data"])

#out {'name': 'Python七号', 'author': 'somenzz'}

pickleDB

pickleDB[2] 是一个轻量级且简单的键值对存储。它建立在 Python 的 simplejson 模块之上,并受到 redis 的启发。可以通过 pip install pickledb 进行安装。

使用方法:

>>> import pickledb
>>> db = pickledb.load('example.db', auto_dump = False)
>>> db.set('name', 'Python七号')
True
>>> db.get('name')
'Python七号'
>>> db.dump()
True

TinyDB

与 pickleDB 和 Shelve 类似,TinyDB 是另一种快速且轻量级的键值对存储。TinyDB[3] 的优点是非常快,非常简单易用。TinyDB 的接口类似于许多键值存储,但提供了许多附加功能,例如编写自己的存储中间件能力。

用法:

import tinydb

db = tinydb.TinyDB("store.json")
db.insert({"name": "Python七号"})
db.insert({"author": "somenzz"})
results = db.all()
print(results)

# output [{'name': 'Python七号'}, {'author': 'somenzz'}]

还可以这样用:

>>> from tinydb import TinyDB, Query
>>> db = TinyDB('path/to/db.json')
>>> User = Query()
>>> db.insert({'name': 'Python七号', 'author': 'somenzz'})
>>> db.search(User.name == 'Python七号')
[{'name': 'Python七号', 'author': 'somenzz'}]

是不是很方便?

本文链接:https://www.dzdvip.com/33631.html 版权声明:本文内容均来源于互联网。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 395045033@qq.com,一经查实,本站将立刻删除。
(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年6月4日 11:27
下一篇 2022年6月4日 15:16

相关推荐

  • 国家电网认可的6所学校(国家电网认可度高的学校有哪些)

    “国家电网认可的6所学校分别为:上海电力大学、长沙理工大学、三峡大学、南京工程学院、沈阳工程学院、东北电力大学。” 国家电网认可度高的学校有哪些 要说铁饭碗岗位哪一个最受欢迎,那么无疑就是公务员,因为公务员不仅稳定、薪资待遇也很不错,就是在近几年上岸难度大了一些。 而除了公务员岗位备受青睐之外,还有很多铁饭碗让学生们很喜欢,例如中国烟草、教师、医生以及国家电网等,这些岗位也都很稳定。 说到国家电网,相信学生们都不陌生,毕竟它在每年招聘的时候,都会有很多学生投简历,可多数学生不知道的是,有些高校备受国家电网认可,就业率很可观,你知道是哪几所吗?我们一起来看一看! 电力行业虽然不是朝阳行业,但是电力与我们生活息息相关,是我们生活不可缺少的重要组成部分,外加上电力行业具有一定的就业门槛,所以电力行业不失为一个就业的好去处。不少同学也想要选个好专业好学校,为进入电网打好基础。 想进电网选对专业是第一步。电网招收人数多的专业无疑是电气工程及其自动化(本科)与电气工程(研究生)专业。 择校又是另一个重要步骤。国家电网除了喜欢招聘清北、华电等实力很强的院校毕业生,也招聘与之有“不解之缘”的院校的毕业生,选择后者,也能达到近水楼台先得月的效果,而且分数要求还没有前者高。 一、东北电力大学 东北电力大学位于吉林省吉林市,始建于1949年,是新中国建立的第一所电力工科院校。先后隶属于电力工业部和国家电力公司,现实行中央与地方共建,以吉林省管理为主。电气工程及其自动化、能源与动力工程等都是国家级特色专业,电气专业实力强劲。 21年高考最低分高于四川省控一本线30余分,电气工程及其自动化录取最低分为595分。 22届考研,东北电力大学电气工程学硕拟招收110人,能源动力-电气工程专硕拟招收178名全日制和4名非全日制,招生名额非常多,上岸机会更大。 二、沈阳工程学院 沈阳工程学院是辽宁省人民政府与国家电力投资集团共建的省属重点本科院校,是辽宁省内唯一一所以能源电力为主干学科的地方本科高校,虽然沈阳工程学院综合实力不算太高,但是该校的电气专业在电力行业的影响力很高,每年有不少的毕业生进入国家电网等企业工作。 高考时,沈阳工程学院为二本批次A类招生,分数线比较低,录取概率比较大,但电气工程及其自动化在四川的录取最低分数为552分,专业分数线较高。 22届考研,沈阳工程学院仅有能源动力-电气工程…

    2022年11月25日
    12
  • 比特币到底有没有价值?

    要想探讨比特币到底有没有价值?首先需要搞清楚到底什么是比特币,估计有很多人都听过比特币这三个字,但是真正明白比特币是什么,是怎么产生的,主要作用是什么都不清楚。这不是我危言耸听,包括很多炒比特币的人都不知道,只是单纯的跟风炒币而已。 首先我们先看一下百度百科对比特币的定义,比特币(Bitcoin)的概念最初由中本聪在2008年11月1日提出,并于2009年1月3日正式诞生。根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的虚拟的加密数字货币。点对点的传输意味着一个去中心化的支付系统。与所有的货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。基于密码学的设计可以使比特币只能被真实的拥有者转移或支付。这同样确保了货币所有权与流通交易的匿名性。比特币与其他虚拟货币最大的不同,是其总数量非常有限,具有的稀缺性。2021年3月13日,比特币突破60000美元。 2021年6月,萨尔瓦多成为世界上第一个赋予数字货币法定地位的国家,比特币在该国成为法定货币。 看完百度对比特币的定义和简介我们有了一个简单的概念,比特币是有一定的价值的,要不然萨尔瓦多也不可能把它定为法定货币。但是由于比特币是不记名的,这会引发很多社会问题。1.极易成为犯罪工具;2.扰乱一国(或地区)的外汇管理秩序;3.冲击法定货币体系;4.浪费大量的社会资源。 上面四点简单明了,第一点犯罪分子可以利用比特币不记名的属性进行行贿(无法监管追踪),军火买卖,人口贩卖等所有你能想到的用钱支付的犯罪行为都可以用比特币代替,并且无法追查,极易逃避追查监管,成为犯罪分子的温床。第二点就更不用说了,比如某个人从一个国家到另一个国家是需要先换货币的,而比特币打破了这种程序,这个人可以用比特币到另一个国家躲过本国金融系统直接到另一个国家变现成法定货币,你们想想如果要是用到地下钱庄或者洗钱行业还了得吗?第三点冲击法定货币是一定的了,因为法定货币或多或少都会超发或者贬值,比特币因为发行量有限在一定程度上决定而始终升值的性质(建立在击鼓传花的庞氏骗局之下),就会有一部分人在配…

    2021年6月27日
    12
  • 有哪些值得关注好用的 App推荐?

    提到这个有哪些值得关注好用的 App推荐?,实在有很多话可以说,因为有太多优质而小众的app因为种种原因,而游离在大众的视野之外,它们的下载量不高,但不能说它们的质量不好。

    2021年4月29日
    13
  • Win 11正式版发布:将支持运行安卓APP

    在近日的Win11发布会上,微软表示Win11未来将支持运行安卓App,并通过亚马逊应用商店将 Android应用引入Win11应用商店。 除了外观上更清新的界面、圆角风格UI和小部件等改变,性能方面,Win 11更轻快,效率更高,相比win10系统更精简,功耗更低,续航能力更强。同时也针对游戏进行了部分优化。而他最大的变化应该是原生运行安卓APP,实现安卓移动端和X86 PC端大融合。 实现原生支持依靠了Intel Bridge技术,这是一种运行时后期编译器,使应用程序能够在基于x86的设备上原生运行,以“原生应用”形态运行,除了可以保证它的流畅性,手机、平板等不同设备都能在Win 11下无缝协作。 而具体的互联形式,还是要等大批用户的试用后,才能获取真实有效的使用体验了。

    2021年6月29日
    13
  • 新能源与燃油车的利与弊(燃油车与新能源车的优缺点)

    原以为新能源车,充电便宜,用起来就一定比燃油车划算,可没想到,事实上并不一定,有的人开起来确实很划算,有的人却开不仅比燃油车费钱,还麻烦事一件接一件。 那么新能源车与燃油车,到底哪个更划算,今天我来算笔账,看完你就知道差距是多少了。 那么为何有的人觉得新能源很划算? 1、用上0.288元每度的,峰谷电价 说新能源划算的人,大部分都是家里有车位,装了充电桩,还申请了峰谷电价,晚上以0.288元每度电的价格,给爱车充电。 以一度电跑10公里的能耗来算,那么一公里电费=0.288÷10=0.0288元,(0.0288元=2.88分钱),一公里连三分钱都不到,那么比起燃油车一公里0.6-0.8元的油耗,可谓是十分划算,尽管你一年开2万公里,那么一年电费也就576块钱而已,意味着在外面吃一顿饭的钱,用来给新能源充电,足够跑一整年。 所以说,要是你家里有车位,还申请安装了充电桩,另外还申请到了峰谷电价,那么新能源确实比燃油车划算。 2、频繁用车,一年好几万公里,甚至是网约车,出租车,一年十多万公里在大街上,以前的网约车也好,出租车也罢,现在几乎是全部都换上了新能源车,究其原因,最主要的原因那便是,新能源充电便宜。 以网约车来看一天跑300公里,一年10万公里,要是用燃油车,油费都得大几万块钱了,可是新能源的话,充电也就一万块左右,这里便省下好几万块钱。 用车频繁,一年好几万公里,甚至十多万公里,那么这样新能源电费便宜的优势便能体现出来,所以新能源就会比燃油车划算。 3、家里车位有充电桩,才会觉得方便家里车位能装充电桩,这样才会显得方便,白天开出门,晚上开回家,直接在车位里面便可直接进行充电,不用麻烦跑外面充电。 那么为何有人觉得新能源不划算呢?甚至觉得新能源很麻烦? 1、家里车位没有充电桩 很多人是租的房子,车子今天这里停一停,明天哪里停一停,就算有固定车位,如果车位上没有安装到充电设备,那么新能源车并不太适合你,不仅麻烦,也不划算。 首先家里车位没有充电桩,那么你只能到外面充电桩充电,外面商用电本来就贵,加上人家要赚钱,往往一度电都得1.3-1.5元左右,平均下来一公里就要1-2毛钱,可别以为这样比燃油车油耗便宜就划算了,新能源如今保险费大涨,要是一公里一两毛钱的电耗,其实最终算下来新能源并不一定就比燃油车划算,甚至过几年换电池,新能源比燃油车还要费钱。 还有更重要的一点,家…

    2022年2月26日
    43
  • 鸡胸和正常人区别图片(鸡胸是什么原因引起的)

    鸡胸众所周知,鸡的胸部向前突出,前后径大于横径的长度。儿童在生长发育过程中,因某些疾病的影响,胸部也会发生一种类似鸡胸部的改变,医学上称为“鸡胸”也叫“鸽胸”。轻度鸡胸会随着儿童年龄增长而自然矫正。严重的“鸡胸”,则终生不变。特点是胸骨前凸、两侧胸壁低平。轻者外观不雅,重者使胸廓容积缩小,肺发育受限(8岁以前的小儿肺泡量可能增多),经常患气管炎或肺炎,运动耐受力差,抵抗力低下。 关于“鸡胸”很多新手宝妈妈们可能都没有听说过,也没有见到过“鸡胸”的症状表现,有的家长更是以为孩子只是长得瘦弱了并不当一回事,这可不行,今天咱们就一起来了解一下“鸡胸”这种罕见的儿童疾病。 一、什么是鸡胸呢? “鸡胸”是发生在儿童身上的一种常见的疾病,这种病症的主要表现为孩子的胸口是突出的,肋骨相对比较高,如果比较严重,孩子的胸部的容积就会变小,儿童的肺部也会受到影响,出现 “鸡胸” 肺炎以及支气管炎等疾病会立即找上孩子。 临床上根据胸骨不同的形态,可将鸡胸分为三种类型: (1)船形胸 主要为胸骨伸长、向前凸起、双侧下份肋软骨下陷,状若船的龙骨,严重者使胸腔容量减小。侧位X线片上见肋骨与胸骨分离,胸骨后间隙延长。 (2)球形鸽胸 特征为胸骨柄、胸骨体连接处与相邻肋软骨的隆起,若有胸骨角的减小,则会造成胸骨体下陷,使第2至第5肋软骨在胸骨旁隆起。球形鸽胸常伴有胸骨骨化线,特别是胸骨柄、胸骨体连接处的早期骨化,在患儿3岁、甚至3岁以前即可看到。而在一般情况下,99%的人不管年龄如何,其胸骨柄、胸骨体连接处是开放的。胸骨柄与体连接处的骨化和胸骨角的隆起,称为“胸骨成角性骨连接”。 (3)单侧鸡胸 也称非对称性鸡胸,以胸壁的一侧突出为特点,有时可伴有对侧的下陷。肋软骨畸形在此型中起重要作用,胸骨位置异常不明显。 二、“鸡胸”会影响到孩子吗? 鸡胸一般表现比较轻微的话,不会对孩子造成影响,但是在外形上就会出现酷似“鸡胸” 的样子;一旦 “鸡胸” 严重的话有些宝宝会出现疲惫、精力不够在表现。 三、“鸡胸”是一种常见病吗? “鸡胸”一种常见的畸形,医生告诉我们“鸡胸” 的发病率大概是0.1%,男孩子会比较容易出现这种情况。这和遗传以及佝偻病有关,有的是先天形成,如果补钙补足或者吸收不足也是很容易患此病的,同时这种病的出现还有可能伴随着腿部的畸形和骨盆的畸形。 四、孩子得了“鸡胸”该怎么办? 三岁以下的孩子…

    2022年7月30日
    194