使用Shelve将对象保存在Python中
来源:教育资源网
•
发布时间:2020-11-30 07:59:35
•
点击:1053
Shelve是用于对象持久性的强大Python模块。当您搁置对象时,必须分配一个密钥,通过该密钥可以知道对象值。通过这种方式,shelve文件成为存储值的数据库,可以随时访问任何存储值。
Python中Shelve的示例代码
要搁置对象,首先导入模块,然后分配对象值,如下所示:
导入货架
数据库=shelve.open(文件名)
object=object()
database['key']=object
例如,如果要保存库存数据库,可以调整以下代码:
导入货架
库存值Ådb=shelve.open(&)39;stockvalues.db')
对象ëibm=值.ibm()
stockvaluesëudB['ibm']=对象ëibm
对象ëvmw=Values.vmw()
stockvaluesëdb['vmw']=对象ëvmw
对象ëdb=值db()
stockvaluesëdb['db']=对象ëdb
A"股票值.db"已经打开,您不需要'需要再次打开它。相反,您可以一次打开多个数据库,随意写入每个数据库,并在程序终止时让Python关闭它们。例如,您可以为每个符号保留一个单独的名称数据库,并在前面的代码中附加以下内容:
###假设货架已经导入
库存名称ţdb=shelve.open(&)39;stockname.db')
objectnameçuIBM=姓名()
stocknamesëdb['ibm']=objectnameëibm
objectnameëvmw=姓名.vmw()
stocknameëdb['vmw']=objectname_vmw
objectname_db=名称()
stocknameëdb['db']=objectnameëdb
请注意,数据库文件的名称或后缀的任何更改都构成不同的文件,因此构成不同的数据库。
健康教育知识测试题及答案
结果是包含给出的第二个数据库文件n值。与大多数以自我样式格式编写的文件不同,搁置的数据库以二进制形式保存。
数据写入文件后,可以随时召回。如果要在以后的会话中恢复数据,请重新打开该文件。如果是同一会话,只需召回该值;shelve数据库文件以读写模式打开。以下是实现此目的的基本语法:
导入货架
数据库=shelve.open(文件名)
对象=数据库[#39;键']
因此,前面示例中的示例将读取:
导入货架
stocknameÅfile=shelve.open(&)39;stockname.db')
stockname_ibm=stockname_file['ibm']
stockname_db=stockname#file['db']
考虑搁置
重要的是要注意,数据库在关闭之前(或直到程序终止)保持打开状态。因此,如果您正在编写任何大小的程序,则需要在使用它后关闭数据库。否则,整个数据库(不仅仅是您想要的值)位于内存中并消耗计算资源。
要关闭搁置文件,请使用以下语法:
数据库()
如果上面的所有代码示例都合并到一个程序中,那么此时我们将打开两个数据库文件并消耗内存。因此,在上一个示例中读取了股票名称之后,您可以依次关闭每个数据库,如下所示:
库存值_关闭()
库存_关闭()
库存_文件关闭()