在python中使用shelve保存对象

Shelve是用于对象持久性的强大Python模块。搁置对象时,必须指定一个已知对象值的键。这样,搁置文件就变成了存储值的数据库,任何存储值都可以随时访问。...

Shelve是用于对象持久性的强大Python模块。搁置对象时,必须指定一个已知对象值的键。这样,搁置文件就变成了存储值的数据库,任何存储值都可以随时访问。

Business owner working at laptop in clothing shop

python中shelve的示例代码

要搁置对象,请首先导入模块,然后按如下方式指定对象值:

import shelve database = shelve.open(filename.suffix) object = Object() database['key'] = object

例如,如果要保留股票数据库,可以修改以下代码:

import shelve stockvalues_db = shelve.open('stockvalues.db') object_ibm = Values.ibm() stockvalues_db['ibm'] = object_ibm object_vmw = Values.vmw() stockvalues_db['vmw'] = object_vmw object_db = Values.db() stockvalues_db['db'] = object_db

“stock values.db”已打开,您无需再次打开它。相反,您可以一次打开多个数据库,任意写入每个数据库,并在程序终止时让Python关闭它们。例如,您可以为每个符号保留一个单独的名称数据库,并在前面的代码后面附加以下内容:

## assuming shelve is already imported stocknames_db = shelve.open('stocknames.db') objectname_ibm = Names.ibm() stocknames_db['ibm'] = objectname_ibm objectname_vmw = Names.vmw() stocknames_db['vmw'] = objectname_vmw objectname_db = Names.db() stocknames_db['db'] = objectname_db

请注意,数据库文件的名称或后缀的任何更改都将构成一个不同的文件,从而构成一个不同的数据库。

结果是第二个包含给定值的数据库文件。与大多数以自封格式编写的文件不同,搁置的数据库以二进制形式保存。

数据写入文件后,可以随时调用。如果要在以后的会话中恢复数据,请重新打开该文件。如果是同一个会话,只需调用该值;搁置数据库文件以读写模式打开。以下是实现此目的的基本语法:

import shelve database = shelve.open(filename.suffix) object = database['key']

因此,前面示例中的示例将显示:

import shelve stockname_file = shelve.open('stocknames.db') stockname_ibm = stockname_file['ibm'] stockname_db = stockname_file['db']

搁置的考虑

请务必注意,在关闭数据库(或程序终止)之前,数据库将保持打开状态。因此,如果您正在编写任意大小的程序,则需要在使用数据库后关闭它。否则,整个数据库(不仅仅是您想要的值)都位于内存中,并消耗计算资源。

要关闭搁置文件,请使用以下语法:

database.close()

如果将上面所有的代码示例合并到一个程序中,那么此时将打开两个数据库文件并占用内存。因此,在阅读了上一个示例中的股票名称之后,您可以按如下顺序关闭每个数据库:

stockvalues_db.close() stocknames_db.close() stockname_file.close()

  • 发表于 2021-10-10 09:03
  • 阅读 ( 152 )
  • 分类:数学

你可能感兴趣的文章

perl公司(perl)和python(python)的区别

关键区别–perl与python 计算机程序为计算机执行任务提供指令。一组指令被称为计算机程序。计算机程序是用编程语言开发的。高级语言程序员可以理解,但计算机却不能理解。因此,这些程序被转换成机器可理解的格式。Per...

  • 发布于 2020-10-19 17:38
  • 阅读 ( 222 )

红宝石(ruby)和python(python)的区别

关键区别——ruby与python Ruby和Python是高级编程语言,因为它们遵循与英语语言相似的语法。因此,程序员很容易理解这些语言。Ruby和Python都是解释语言。两种语言都有大量的社区支持。Ruby和Python的一个主要优点是这些语言支...

  • 发布于 2020-10-19 17:41
  • 阅读 ( 350 )

python(python)和c语言(c language)的区别

python(python)和c语言(c language)的区别 编程语言允许人类为计算机创建一组有意义的指令来执行任务。Python和C是两种高级编程语言。Python和C语言的关键区别在于Python是一种多范式语言,C是一种结构化编程语言。本文讨论了每种...

  • 发布于 2020-10-24 05:03
  • 阅读 ( 311 )

json-python解析:简单指南

...运行的C++编写的应用程序可以轻松地将JSON数据与应用于Python的应用程序进行运行,并在Linux上运行。它的简单性和灵活性近年来得到了广泛的应用,特别是在更倾向于早期基于XML的格式方面。 ...

  • 发布于 2021-03-13 11:20
  • 阅读 ( 294 )

用这些免费的在线交互式shell在浏览器中试用python

如果您正在考虑学习Python,那么您可能会被初始设置过程弄得不知所措。您需要在系统上安装Python,然后学习如何使用命令行处理代码,或者学习如何使用交互式shell,或者学习如何设置pythonide。 ...

  • 发布于 2021-03-15 00:25
  • 阅读 ( 376 )

如何用python读写google工作表

Python是一种优秀的编程语言。语法可能看起来奇怪和不寻常,但它很容易学习和使用。它支持Minecraft Pi版,以及一系列网站和学术研究项目。 ...

  • 发布于 2021-03-16 13:43
  • 阅读 ( 593 )

如何使用pandas将excel数据导入python脚本

...高级的数据处理,就需要超越Excel的功能,开始使用类似Python的脚本/编程语言。这里不是手动将数据复制到数据库中,而是一个关于如何使用Pandas将Excel数据加载到Python中的快速教程。 ...

  • 发布于 2021-03-19 06:40
  • 阅读 ( 372 )

揭开这个免费电子书现代蟒蛇!

... 对于任何一个掌握基本Python技能、不熟悉面向对象编程的人来说,这本免费电子书是必备的。每一章都包括相关的,一步一步的例子和案例研究,整个电子书形成了一个深入的,工作程序,完全...

  • 发布于 2021-03-20 06:10
  • 阅读 ( 235 )

python面向对象编程初学者指南

Python应用于从Raspberry Pi到机器学习的所有领域。但是,如果您想处理任何大型项目,您需要知道Python如何与面向对象编程(OOP)结合使用。本文将介绍您需要了解的基本知识。 ...

  • 发布于 2021-03-24 14:43
  • 阅读 ( 218 )

如何在python中创建简单类

... python类基础知识 ...

  • 发布于 2021-03-26 20:18
  • 阅读 ( 262 )
dor85919
dor85919

0 篇文章

相关推荐