#coding=utf-
import shelve f = shelve.open("shelve_test")
f['info'] = "alex"
f["age"] = [,,,,,]
f["name"] = {"name":"alex","add":"sz"}
f.close() f = shelve.open("shelve_test")
# 这里这个f我们就可以理解为是一个字典对象,所以shelve存储数据就按照字典的方式存储数据 print(f.get("info"))
print(f.get("age"))
print(f.get("name"))
print(f['info'])
print(f.values())
print(f.items())
print(f.keys())

输出

alex
[, , , , , ]
{'name': 'alex', 'add': 'sz'}
alex
ValuesView(<shelve.DbfilenameShelf object at 0x000001A88D374208>)
ItemsView(<shelve.DbfilenameShelf object at 0x000001A88D374208>)
KeysView(<shelve.DbfilenameShelf object at 0x000001A88D374208>)
#coding=utf-
import shelve
with shelve.open("test_shelve.db") as f:
f["k1"] = {
"name":"xiaoming1",
"age":,
"address":"beijing1"
}
f["k2"] = {
"name":"xiaoming2",
"age":,
"address":"beijing2"
}
f["k3"] = {
"name":"xiaoming3",
"age":,
"address":"beijing3"
}
f["k4"] = ["小明1","小明2","小明3"]
with shelve.open("test_shelve.db") as f:
print(f["k1"]["name"])
print(f["k4"][])

输出

xiaoming1
小明1
#coding=utf-
import shelve
test_list=[,,,,]
test_dict={"aaa":,"bbb":}
s="xiaoming"
with shelve.open("shelve.ini","wc") as f:
f["k1"] = test_list
f["k2"] = test_dict
f["k3"] = s with shelve.open("shelve.ini","rc") as k:
print(k["k3"])
print(k["k2"])
print(k["k1"])

输出

xiaoming
{'aaa': , 'bbb': }
[, , , , ]
#coding=utf-
import shelve list = [, , ]
she = shelve.open('test.dat')
she['d'] = list
she['d'].append('f')
print(she['d']) list = [, , ]
she = shelve.open('test.dat')
she['d'] = list
temp = she['d']
temp.append('f')
she['d'] = temp
print(she['d'])

输出

[, , ]
[, , , 'f']

python shelve模块的更多相关文章

  1. Python shelve 模块

    使用json或者pickle持久化数据,能dump多次,但load的话只能取到最新的dump, 因为先前的数据已经被后面dump的数据覆盖掉了. 如果想要实现dump多次不被覆盖,就可以想到使用she ...

  2. [Python shelve模块Error]bsddb.db.DBPageNotFoundError: (-30986, 'DB_PAGE_NOTFOUND: Requested page not found')

    在用scrapy抓数据,用shelve保存时出现了这个Error,目标是储存一串unicode字符串组成的列表,exception代码是tempbase['joke']=joke_list,测试只要j ...

  3. Python shelve模块的使用方法

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = '人生入戏' import shelve,time #写 x = shelve. ...

  4. python序列化: json & pickle & shelve 模块

    一.json & pickle & shelve 模块 json,用于字符串 和 python数据类型间进行转换pickle,用于python特有的类型 和 python的数据类型间进 ...

  5. python pickle 和 shelve模块

    pickle和shelve模块都可以把python对象存储到文件中,下面来看看它们的用法吧 1.pickle 写: 以写方式打开一个文件描述符,调用pickle.dump把对象写进去 dn = {'b ...

  6. 小白的Python之路 day5 shelve模块讲解

    shelve模块讲解 一.概述 之前我们说不管是json也好,还是pickle也好,在python3中只能dump一次和load一次,有什么方法可以向dump多少次就dump多少次,并且load不会出 ...

  7. Python 序列化模块(json,pickle,shelve)

    json模块 JSON (JavaScript Object Notation):是一个轻量级的数据交换格式模块,受javascript对象文本语法启发,但不属于JavaScript的子集. 常用方法 ...

  8. python之shelve模块详解

    一.定义 Shelve是对象持久化保存方法,将对象保存到文件里面,缺省(即默认)的数据存储文件是二进制的. 二.用途 可以作为一个简单的数据存储方案. 三.用法 使用时,只需要使用open函数获取一个 ...

  9. Python全栈之路----常用模块----序列化(json&pickle&shelve)模块详解

    把内存数据转成字符,叫序列化:把字符转成内存数据类型,叫反序列化. Json模块 Json模块提供了四个功能:序列化:dumps.dump:反序列化:loads.load. import json d ...

随机推荐

  1. WordConuts

    import java.io.File; import java.io.FileNotFoundException; import java.util.HashMap; import java.uti ...

  2. Linux:CPU使用率100%排查方法

    Linux作为一个多任务操作系统,将每个CPU的时间划分为很短的时间片,再通过调度器轮流分配给各个任务使用,因此造成多任务同时运行的错觉. CPU使用率 Linux作为一个多任务操作系统,将每个CPU ...

  3. java中BufferedImage类的用法

    1. BufferedImage是Image的一个子类,Image和BufferedImage的主要作用就是将一副图片加载到内存中. BufferedImage生成的图片在内存里有一个图像缓冲区,利用 ...

  4. 第一节 JavaScript概述

    第一节 JavaScript概述 JavaScript:其实就是对HTML+CSS静态页面进行样式修改,使其实现各种动态效果. 编写JS脚本基本步骤: 1. HTML+CSS静态布局: 2. 确定要修 ...

  5. Java笔记 #04# 类的初始化顺序补充

    参考java中的类的初始化顺序详解 package org.sample; class Bread { Bread() { System.out.println("Bread()" ...

  6. [c/c++] programming之路(6)、ASCII码,数据类型、随机数、字符转换及拼接等

    一.变量 #include<stdio.h> #include<stdlib.h> void main0(){ //数据使用必须在范围内,否则产生溢出 unsigned +;/ ...

  7. Codeforces Round #425 (Div. 2) Problem A Sasha and Sticks (Codeforces 832A)

    It's one more school day now. Sasha doesn't like classes and is always bored at them. So, each day h ...

  8. NSIS+Duilib 制作Windows安装包

    转载:https://www.cnblogs.com/zzllily/articles/5443850.html 转载:https://blog.csdn.net/bruce135lee/articl ...

  9. android设备如何进入深度休眠还能继续使用定时器【求解】

    经过试验,andriod设备进入深度休眠的时候,定时器是不能使用.但是阻止设备进入深度休眠,可以获取一把锁,但是拿了锁之后,设备不能进入休眠,系统的功耗会增加.怎么能够在系统进入休眠,定时器还能正常工 ...

  10. Linux 双向 SSH 免密登录

    原理 双向,顾名思义,双方互通,此处的意思是多台 linux 两两免密登录.双向比单向多了些操作,单向只需把某一个linux的公钥发送给其他linux即可,而双向要实现集群中的每一台机器都保存其他所有 ...