利用 Python 的 shelve 模块, 可以将程序中需要保存的数据,以二进制放入 shelf 文件中。另一个程序就可以读取 shelf 文件,用于业务逻辑。也就是说 shelve 模块可以实现数据持久化,只不过格式是二进制形式。

写入数据:

import shelve

'''

使用 shelve 读写变量

'''

# 写入数据文件

shelf_file = shelve.open('book_data')

books = ['云游', '人生十二法则', '一场游戏一次消遣']

shelf_file['books'] = books

shelf_file.close()

读取数据:

shelf_file = shelve.open('book_data')

print(list(shelf_file.keys()))

print(list(shelf_file.values()))

shelf_file.close()

运行结果:

['books']

[['云游', '人生十二法则', '一场游戏一次消遣']]

shelf 类型的值拥有 keys() 和 values() 方法, 它们会分别返回 shelf 中类似列表形式的键或值。因为只是类似,所以应该将它们传递给 list() 函数, 返回真正的列表。

shelve 模块会在执行目录,新建三个持久化文件:

如果希望保存 Python 程序中的数据,使用 shelve 模块就很方便哦O(∩_∩)O哈哈~

python shelve模块_说说 Python 的 shelve 模块相关推荐

  1. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  2. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  3. python中常用的序列化模块_第六章 常用模块(5):python常用模块(序列化模块:pickle,json,shelve,xml)...

    6.3.7 序列化模块 (pickle,json,shelve,xml) 文件写入,数据传输时,我们都是以字符串形式写入的(因为字符串可以encode成bytes). 那其他类型(比如字典,列表等)想 ...

  4. 哪些模块可用于python性能分析_提升Python程序性能的方法有哪些?看完你就知道啦!...

    掌握一些技巧,可尽量提高Python程序性能,也可以避免不必要的资源浪费.今天就为大家带来七个可以提升python程序性能的好习惯,赶快来学习吧:. 1.使用局部变量 尽量使用局部变量代替全局变量:便 ...

  5. python哪个关键字可以导入模块_关于python导入模块import与常见的模块详解

    0.什么是python模块?干什么的用的? Java中如果使用abs()函数,则需要需要导入Math包,同样python也是封装的,因为python提供的函数太多,所以根据函数的功能将其封装在不同的m ...

  6. python 异常处理模块_扩展Python模块系列(五)----异常和错误处理

    在上一节中,讨论了在用C语言扩展Python模块时,应该如何处理无处不在的引用计数问题.重点关注的是在实现一个C Python的函数时,对于一个PyObject对象,何时调用Py_INCREF和Py_ ...

  7. python函数复用_【python学习-4】可复用函数与模块

    1.自定义函数 自定义函数格式如下: def (参数列表):return #!/usr/bin/python#定义函数,打印数字1~5 defprintNum5():#range函数,生成列表集合,有 ...

  8. python如何查看有什么模块_在python中如何查看模块功能

    在python中查看模块功能的方法:1.在python命令行输入help()函数进入help帮助文档界面:2.键入[modules]列出当前所有安装的模块:3.键入相应的模块名称即可得到该模块的功能信 ...

  9. c调用python代码找不到模块_构建 Python C 扩展模块

    有好几种扩展 Python 的功能的方法.其中一种就是用 C 或 C++ 编写 Python 模块.通过这个过程可以提高性能,更好地访问 C 库函数和系统调用.在本教程中,我将带大家了解如何使用 Py ...

最新文章

  1. java面向对象电子科大版答案_电子科大17秋《面向对象程序设计》在线作业1
  2. 理解Node.js的异步非阻塞I/O模型
  3. 经典4大Python面试题!初级者,你所需知的(附标准答案)-上篇
  4. 自然语言12_Tokenizing Words and Sentences with NLTK
  5. iOS 支付宝支付集成获取私钥
  6. 消灭编译警告(Warning)
  7. ensp查看历史配置命令_网络工程师 | 手把手教你用华为ensp模拟器玩vxlan实验(静态方式)...
  8. OutputDebugString输出调试信息
  9. java实现系统参数的存储_基于ZooKeeper,Spring设计实现的参数系统
  10. Security+ 学习笔记40 网络安全设备
  11. stm32学习笔记——电容触摸按键的实现
  12. python求均值函数_python求列表平均值函数
  13. 帝国CMS系统目录结构介绍
  14. mac格式化固态为exFAT格式
  15. html中图片旋转木马,教你怎么用CSS3做一个图片的旋转木马效果
  16. python函数编程1+(1+2)_《Python游戏编程快速上手》一2.1 一些简单的数学知识
  17. 全国青少年编程等级考试python一级真题2020年12月(含题库答题软件账号)
  18. java -cp 的使用
  19. 关于调整互联网、电话订票起售时间的公告
  20. 超融合究竟带来了什么 超融合方案有哪些优势 企业超融合方案怎么做?

热门文章

  1. Flume 1.7 源码分析(二)整体架构
  2. 在Ubuntu下成功搭建以太坊私有链挖矿并转账
  3. leetcode-剑指 Offer 44. 数字序列中某一位的数字
  4. 数据库连接池技术详解【吐血整理,疯狂推荐】
  5. 【详细讲解】某书店有一个收银员该书店最多允许n个购书者进入。将收银员和购书者看作不同的进程,其工作流程如下图所示。利用PV操作实现该过程,设置信号量S1,S2和Sn,初值分别为0,0,n.则图中a1
  6. 19行代码AC——习题3-4 周期串(UVa-455)_解题报告
  7. java replaceall删除中括号和内容_「技术文章」《阿里巴巴 Java 开发手册》精华摘要...
  8. html页面退出用什么函数,离开网页弹窗函数onbeforeunload与onunload
  9. java事件的接收_spring发布和接收定制的事件(spring事件传播)
  10. crm系统是什么很棒ec实力_搭建CRM系统要明确几个步骤?什么样的CRM是真正有用的系统?...