博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python模块之shelve
阅读量:6566 次
发布时间:2019-06-24

本文共 1151 字,大约阅读时间需要 3 分钟。

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

shelve对pickle进行了封装,允许你dump多次,并且顺序不会乱。所以,能用shevel就用shevel,不能用就用pickle,pickle不能用再用json。

 

序列化:

import shelvef = shelve.open('shelve_test')  # 打开一个文件names = ["alex", "rain", "test"]info = {'name':'alex','age':22}f["names"] = names  # 持久化列表f['info_dic'] = infof.close()

反序列化:

import shelved = shelve.open('shelve_test')  # 打开一个文件print(d['names'])print(d['info_dic'])#del d['test'] #还可以删除

 

代码示例:

# 对pickle进行了封装,允许你dump多次,并且顺序不会乱。import shelvef = shelve.open('shevel_test')  # 打开一个文件info = {
'name': 'alex', 'age': 22}names = ['alex', 'rain', 'test']f['names'] = namesf['info_dic'] = infof.close() # 也是存的一推乱码with shelve.open('shevel_test') as f: print(f) #
print(f.keys()) # KeysView(
) print(list(f.keys())) # ['names', 'info_dic'] print(f.items()) # ItemsView(
) print(f.get('names')) # ['alex', 'rain', 'test'] print(f.get('info_dic')) # {'name': 'alex', 'age': 22} f['names'] = ['Rain', 'Ann', 'Jack'] # ['Rain', 'Ann', 'Jack'] print(f.get('names'))

 

转载于:https://www.cnblogs.com/lshedward/p/10003532.html

你可能感兴趣的文章
文档的压缩与打包
查看>>
python3 在不同操作系统安装第三方库方法
查看>>
redhat5.8+mfs(提供软件包文档)
查看>>
python编写登录接口
查看>>
MySQL高可用方案之多级复制
查看>>
OVS 中的各种网络设备 - 每天5分钟玩转 OpenStack(128)
查看>>
Python火车票代码
查看>>
Android开发者指南(7) —— App Install Location
查看>>
Trafficserver Cluster模式
查看>>
亚马逊推出 Blox,用于 EC2 容器服务的开源工具集合
查看>>
SSDB 数据库的图形界面管理工具发布了!
查看>>
Linux:在中国没有真正的新闻
查看>>
iOS推送功能极光推送的介绍与实现
查看>>
单用户模式与grub加密
查看>>
Chromium Graphics: 3D上下文及其虚拟化 - Part I
查看>>
jquery javascript获得网页的高度和宽度
查看>>
2019 -2-15 复习
查看>>
vim锁定屏幕
查看>>
FL2440 ubifs文件系统烧录遇到的问题——内核分区的重要性
查看>>
实用的 JavaScript 调试小技巧
查看>>