美文网首页
shelve模块比pickle更强大

shelve模块比pickle更强大

作者: 阿登20 | 来源:发表于2020-09-10 00:20 被阅读0次

一、shelve模块

shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式。

注意:

shelve模块封装了pickle模块,,允许多次dump和load,但只能在python中使用,比pickle要强大许多。

import shelve

f = shelve.open('shelve_test') # 打开文件
names = ['yr','hj','qw','xwf']
info = {'name':['yr','dds'],'age':[20,21]}

f['names'] = names # 持久化列表
f['info_dict'] = info
f.close()

f = shelve.open('shelve_test')
print(list(f.keys())) # ['names', 'info_dict']
print(f['names'][1],f['info_dict']['age'][1])  #  hj 21

del f['names'] # 仅能删除第一层的’k‘值
print(list(f.items())) #  [('info_dict', {'name': ['yr', 'dds'], 'age': [20, 21]})]

f['job'] = ['stu1','stu2'] # 创建
print(list(f.items())) # [('info_dict', {'name': ['yr', 'dds'], 'age': [20, 21]}), ('job', ['stu1', 'stu2'])]

f['job'] = ['s1','s2'] # 修改第一层
print(list(f.items())) # [('info_dict', {'name': ['yr', 'dds'], 'age': [20, 21]}), ('job', ['s1', 's2'])]

相关文章

  • shelve模块比pickle更强大

    一、shelve模块 shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle...

  • 模块的使用2

    json&pickle模块/shelve configparser hashlib suprocess

  • Python入门教程系列:shelve

    前面我们介绍了json和pickle,这里再介绍一个简单好用的shelve持久化模块。 shelve模块以类似字典...

  • Python3.6:shelve模块

    shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写;key必须为字符串,而...

  • python 标准库之shelve

    shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写;key必须为字符串,而...

  • json pickle shelve模块

    json模块 用于字符串和python数据类型间进行转换,提供了四个功能:dumps、dump、loads、loa...

  • 关于json、pickle和shelve模块区别的一点个人理解

    json、pickle和shelve是python中数据持久化保存的常用模块,他们的主要区别如下: Json: ...

  • Json&pickle&shelve模块

    什么是序列化? 我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化,在Python中叫做pickling...

  • python之dbm、pickle、shelve

    dbm、pickle和shelve都是python自带模块。 dbm可以打开数据库文件,把字典存储到数据库文件中,...

  • 17.json、pickle、shelve模块

    一、json模块 1). json模块概述 json格式内容为字符串 json:前后端交互使用广泛的格式;配置文件...

网友评论

      本文标题:shelve模块比pickle更强大

      本文链接:https://www.haomeiwen.com/subject/bhryektx.html