Shelve是用于对象持久性的强大Python模块。搁置对象时,必须指定一个已知对象值的键。这样,搁置文件就变成了存储值的数据库,任何存储值都可以随时访问。
要搁置对象,请首先导入模块,然后按如下方式指定对象值:
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()关键区别–perl与python 计算机程序为计算机执行任务提供指令。一组指令被称为计算机程序。计算机程序是用编程语言开发的。高级语言程序员可以理解,但计算机却不能理解。因此,这些程序被转换成机器可理解的格式。Per...
关键区别——ruby与python Ruby和Python是高级编程语言,因为它们遵循与英语语言相似的语法。因此,程序员很容易理解这些语言。Ruby和Python都是解释语言。两种语言都有大量的社区支持。Ruby和Python的一个主要优点是这些语言支...
python(python)和c语言(c language)的区别 编程语言允许人类为计算机创建一组有意义的指令来执行任务。Python和C是两种高级编程语言。Python和C语言的关键区别在于Python是一种多范式语言,C是一种结构化编程语言。本文讨论了每种...
...运行的C++编写的应用程序可以轻松地将JSON数据与应用于Python的应用程序进行运行,并在Linux上运行。它的简单性和灵活性近年来得到了广泛的应用,特别是在更倾向于早期基于XML的格式方面。 ...
如果您正在考虑学习Python,那么您可能会被初始设置过程弄得不知所措。您需要在系统上安装Python,然后学习如何使用命令行处理代码,或者学习如何使用交互式shell,或者学习如何设置pythonide。 ...
Python是一种优秀的编程语言。语法可能看起来奇怪和不寻常,但它很容易学习和使用。它支持Minecraft Pi版,以及一系列网站和学术研究项目。 ...
...高级的数据处理,就需要超越Excel的功能,开始使用类似Python的脚本/编程语言。这里不是手动将数据复制到数据库中,而是一个关于如何使用Pandas将Excel数据加载到Python中的快速教程。 ...
... 对于任何一个掌握基本Python技能、不熟悉面向对象编程的人来说,这本免费电子书是必备的。每一章都包括相关的,一步一步的例子和案例研究,整个电子书形成了一个深入的,工作程序,完全...
Python应用于从Raspberry Pi到机器学习的所有领域。但是,如果您想处理任何大型项目,您需要知道Python如何与面向对象编程(OOP)结合使用。本文将介绍您需要了解的基本知识。 ...