序列化shelve模块

1.shelve对pickle进行封装,所以shelve也只能在python里使用。

shelve可以进行多次dump而且顺序不会乱。

 

import shelvef = shelve.open('shelve_test')    #打开文件方式和json,pickle不同。names = ['li','xiao','xiao','ali','lucas']
dicts = {'lucy':1,'liming':2,'casio':3}f["first"] = names          #把文件当成一个字典,括号里的是字典的key,括号外面的数据类型是字典的value。
f["second"] = dictsf.close()

下面在终端对文件进行修改,删除,增加等操作。

 

>>> import shelve
>>> f = shelve.open("shelve_test")
>>> list(f.items())
[('first', ['li', 'xiao', 'xiao', 'ali', 'lucas']), ('second', {'lucy': 1, 'liming': 2, 'casio': 3}), ('source', [1, 2, 5, 6, 7, 8, 9, 0])]
>>> f["source"]
[1, 2, 5, 6, 7, 8, 9, 0]                  #注意:不能直接对value里面的值进行修改,只能给key进行重新赋值来达到修改。
>>> f.get("source")
[1, 2, 5, 6, 7, 8, 9, 0]
>>> f["source"] = [1,2,3,4,6,8,9]
>>> list(f.items())
[('first', ['li', 'xiao', 'xiao', 'ali', 'lucas']), ('second', {'lucy': 1, 'liming': 2, 'casio': 3}), ('source', [1, 2, 3, 4, 6, 8, 9])]
>>> del f["source"]
>>> list(f.items())
[('first', ['li', 'xiao', 'xiao', 'ali', 'lucas']), ('second', {'lucy': 1, 'liming': 2, 'casio': 3})]
>>> f["add_1"] = [1,1,1,1,12,3,4]
>>> list(f.items())
[('first', ['li', 'xiao', 'xiao', 'ali', 'lucas']), ('second', {'lucy': 1, 'liming': 2, 'casio': 3}), ('add_1', [1, 1, 1, 1, 12, 3, 4])]

  

shelve对比json,pickle的优缺点

shelve可以多次dump,并且能够通过key值返回需要的数据类型,很方便,不会乱。

shelve比pickle常用,但是json可以跨语言,shelve不可以。  

转载于:https://www.cnblogs.com/Roc-Atlantis/p/8863062.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/267250.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

for循环执行 mybatis_mybatis sql循环的使用

foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有 item,index,collection,open,separator,close。item表示集合中每一个元素进行迭代时的别名,index…

jQuery EasyUI API 中文文档 - 微调器(Spinner)

Spinner 微调器扩展自 $.fn.validatebox.defaults&#xff0c;用 $.fn.spinner.defaults 重写了 defaults。依赖validatebox用法1. <input id"ss" value"2"> 1. $(#ss).spinner({ 2. required:true, 3. increment:10 4. }); 特性其特…

android reboot 定时重启可靠吗,请教一下有人做过安卓系统 reboot 重启之后,appium 能自动重新连接吗...

就是我用 adb 的命令重启手机&#xff0c;然后 usb 是一直连着的&#xff0c;重启之后&#xff0c;我想做尝试能让 appium 自动重新连接尝试过先让driver.quit(); //driver 先退出Thread.sleep(40000)&#xff1b;线程等待&#xff0c;但是还没到 40 秒就报错了org.openqa.sele…

python常用功能_python----常用功能

sintance和typeclass Foo(object):passclass Bar(Foo):passobj Bar()# isinstance用于判断&#xff0c;对象是否是指定类的实例 (错误的)# isinstance用于判断&#xff0c;对象是否是指定类或其派生类的实例# isinstance不精准print(isinstance(obj,Foo),id(obj)) #True 35558…

Flask学习目录

目录 Flask学习初识 Flask学习二 转载于:https://www.cnblogs.com/xiaogongzi/p/8868443.html

ISA Server 2006 升级到 TMG2010

ISA Server的下个版本TMG2010已经发布有一段时间了&#xff0c;现在正在逐渐将原来的ISA Server 2006升级到TMG2010。由于TMG2010需要64位的CPU与Windows Server 2008操作系统&#xff0c;所以&#xff0c;如果原来的ISA Server 2006是安装在32位的CPU的服务器中&#xff0c;则…

nike附近门店查询_不止5折!200+入手Nike、adidas,比“11.11”还便宜!

此次劲浪体育的“劲享万购节”优惠折扣来的非常猛&#xff01;会长先把各种活动给大家整理一下这份《如何买更省钱的详细指南》大家赶紧拿好咯&#xff01;这次活动整体分为5大部分线下实体店劲浪官方微商城京东劲浪官方旗舰店会员积分翻倍兑换当现金直播尖货限时抢总结就是一句…

4. Linux 集群安装

1. 配置yum yum clean all yum makecache yum install wget 2.安装JDK (1) 将jdk-7u60-linux-i586.rpm通过WinSCP上传到虚拟机中(2) 安装JDK&#xff1a;rpm -ivh jdk-7u65-linux-i586.rpm(3) 配置jdk相关的环境变量 vi .bashrc export JAVA_HOME/usr/java/latest export PATH$…

Perforce

Perforcehttp://maillist.perforce.com/perforce/downloads/windowslist.htmlhttp://www.perforce.com/product/components/visual_studio_plugin

基于android的智能风扇,新锡德尔对基于Android的静电式智能空气净化器系统设计...

基于Android的静电式智能空气净化器系统设计随着电子、通信、自动控制等技术的快速发展及人们物质精神生活的提高,家用电器的智能化控制代替传统控制已经成为一种大趋势。伴随智能手机的迅速普及,基于Android平台的智能控制在电器控制中扮演了重要角色。工业化水平提高的同时,也…

数据类型转化

1.英特尔&#xff0c;int() 2.纯&#xff0c;str() 3.不啊&#xff0c;bool() 4.里&#xff0c;list() 5.特别&#xff0c;tuple() 6.数据类型叫类&#xff08;int str bool&#xff09;&#xff0c;创建的活物&#xff08;数据&#xff09;叫对象转载于:https://www.cnblogs.c…

模块怎么用_IC设计方法:模块划分与overdesign

今天讲一个非常简单的设计思想&#xff0c;这个东东也是IC设计方法里的基本矛盾之一&#xff1a;模块划分与overdesign。模块划分乃是IC设计最基本也最经典的概念之一。该步骤出现在芯片架构设计之初。多方设计人员一起讨论&#xff0c;决定要做什么功能&#xff0c;各个功能究…

Android常用类库包介绍

为什么80%的码农都做不了架构师&#xff1f;>>> 在Android 类库中&#xff0c;各种包写成android.*的方式&#xff0c;重要包的介绍如下&#xff1a; android.app&#xff1a;提供高层的程序模型、提供基本的运行环境。 android.content&#xff1a;包含各种的对设…

android调用系统相机图片不旋转,Android 处理调用系统相机生成的被旋转图片

主要通过获取EXIF信息进行设置:public static int readPictureDegree(String path) {int degree 0;try {ExifInterface exifInterface new ExifInterface(path);int orientation exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_…

fastdfs 吗 支持windows_主流开源文件存储系统-fastdfs是否支持windows?你可以选择minio...

首先答案是肯定的&#xff0c;fastdfs不支持windows。 其次建议你使用Minio一、引言一般来说文件存储花钱就选择阿里云oss、七牛云等产品&#xff0c;开源的话&#xff0c;目前开源的分布式文件存储系统非常多&#xff0c;上网一搜 "Ceph&#xff0c;GlusterFS,Sheepdog,L…

SenseTime Ace Coder Challenge 暨 商汤在线编程挑战赛* B. 我觉得海星 bitset

B. 我觉得海星 题意&#xff1a; 一个无向图&#xff0c;判断是否含有五元环。T 组数据&#xff0c;n 个点。 T<100, n<200 。 tags&#xff1a; 一开始想 dfs&#xff0c;发现搞不出来。赛后听大佬们bb&#xff0c;原来可以 bitset 水过去 。 bitset<1000> bit[i]…

Android电视关闭的闪屏动画效果

老式电视机关闭的时候画面一闪消失的那个效果&#xff1a; 首先创建一个TVOffAnimation继承于Animation&#xff1a; 首先创建一个TVOffAnimation继承于Animation 然后在initialize里面设置一些参数import android.graphics.Matrix;import android.view.animation.Accelerat…

python怎么清除代码_Python如何清空列表?清空列表的4种方法(代码示例)

通过Python语言提供的不同构造的方法可以有许多方法来清空列表&#xff0c;下面本篇文章就来给带大家介绍Python中4种清空列表的方法&#xff0c;希望对大家有所帮助。方法1&#xff1a;重新初始化列表可以重初始化列表&#xff0c;初始化该作用域中的列表时&#xff0c;将不带…

SocketServer源码学习(二)

SocketServer 中非常重要的两个基类就是&#xff1a;BaseServer 和 BaseRequestHandler在SocketServer 中也提供了对TCP以及UDP的高级封装&#xff0c;这次我们主要通过分析关于TCP的处理逻辑来对SocketServer模块进行一个很好的理解和学习 TCPServer TCPServer 继承了BaseServ…

Yum命令解析

Yum配置文件位于/etc/yum.conf和/etc/yum.repos.d/CentOS-Base.repo目录下 使用yum时注意&#xff1a;必须使用root身份来执行yum&#xff1b;yum配置文件内的镜像站点必须能与自己进行网络连接&#xff1b;镜像站点越近&#xff0c;带宽越大越好&#xff0c;方便下载。 [rootl…