pickle

序列化为字符串

.dumps(obj): 将对象序列为字符串

.loads(s): 从字符串反序列化对象

例如

 import pickle

 person = {'name': 'Tom', 'age': 20}
s = pickle.dumps(person)
print(s)
# b'\x80\x03}q\x00(X\x04\x00\x00\x00nameq\x01X\x03\x00\x00\x00Tomq\x02X\x03\x00\x00\x00ageq\x03K\x14u.'
p = pickle.loads(s)
print(p)
# {'name': 'Tom', 'age': 20}

序列化对象到文件

.dump(obj, file)

.load(file)

例如

 import pickle

 person = {'name': 'Tom', 'age': 20}
# 序列化对象到文件
pickle.dump(person, open('pickle_db', 'wb'))
p = pickle.load(open('pickle_db', 'rb'))
print(p)
# {'name': 'Tom', 'age': 20}

Shelve

.open('dbfile')  用shelve.open('dbfile') 打开文件

db['key'] = obj  给键‘key’赋值

len(db)  检查db的大小

del db['key']删除db字典中键为‘key’的键值对

Python之对象持久化笔记的更多相关文章

  1. Python核心编程--学习笔记--4--Python对象

    现在开始学习Python语言的核心部分.首先了解什么是Python对象,然后讨论最常用的内建类型,接下来讨论标准类型运算符和内建函数,之后给出对标准类型的不同分类方式,最后提一提Python目前还不支 ...

  2. Requests:Python HTTP Module学习笔记(一)(转)

    Requests:Python HTTP Module学习笔记(一) 在学习用python写爬虫的时候用到了Requests这个Http网络库,这个库简单好用并且功能强大,完全可以代替python的标 ...

  3. python网络爬虫学习笔记

    python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章文件夹 1. 介绍: 2. 从简单语句中開始: 3. 传送数据给server 4. HTTP头-描写叙述 ...

  4. Python学习的个人笔记(基础语法)

    Python学习的个人笔记 题外话: 我是一个大二的计算机系的学生,这份python学习个人笔记是趁寒假这一周在慕课网,w3cschool,还有借鉴了一些博客,资料整理出来的,用于自己方便的时候查阅, ...

  5. python数据分析入门学习笔记

    学习利用python进行数据分析的笔记&下星期二内部交流会要讲的内容,一并分享给大家.博主粗心大意,有什么不对的地方欢迎指正~还有许多尚待完善的地方,待我一边学习一边完善~ 前言:各种和数据分 ...

  6. Python Built-in Function 学习笔记

    Python Built-in Function 学习笔记 1. 匿名函数 1.1 什么是匿名函数 python允许使用lambda来创建一个匿名函数,匿名是因为他不需要以标准的方式来声明,比如def ...

  7. python pickle模块的使用/将python数据对象序列化保存到文件中

    # Python 使用pickle/cPickle模块进行数据的序列化 """Python序列化的概念很简单.内存里面有一个数据结构, 你希望将它保存下来,重用,或者发送 ...

  8. python高级编程读书笔记(一)

    python高级编程读书笔记(一) python 高级编程读书笔记,记录一下基础和高级用法 python2和python3兼容处理 使用sys模块使程序python2和python3兼容 import ...

  9. 《简明Python教程》读书笔记

    1:help 需要获取Python中任何函数.类型的信息,使用   help('内容')   命令查看帮助,按  q  退出帮助. 2:格式化字符串 format 方法是数据格式化的重要方法. 字符串 ...

随机推荐

  1. Tkinter 之Place布局

    一.参数说明 参数 作用 anchor  控制组件在 place 分配的空间中的位置"n", "ne", "e", "se&quo ...

  2. centos6和centos7中常用命令区别

    以前一直接触的是centos6,最近因为新项目接触到centos7,发现有些命令还是有差异的(从centos7开始使用systemctl来管理服务和程序,包括了service和chkconfig),现 ...

  3. RT-Thread 柿饼GUI

    目前主流的嵌入式GUI开发技术中,RT-Thread/Persimmon.TouchGFX和emWin是最受人瞩目的.   RT-Thread/ Persimmon是国内主导开发的实时线程操作系统RT ...

  4. c3p0数据库连接池 原创: Java之行 Java之行 5月8日 一、连接池概述 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程

    c3p0数据库连接池 原创: Java之行 Java之行 5月8日 一.连接池概述 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程 DB连接池HikariCP为什么如此快 原创: D ...

  5. OpenSL ES: 利用OpenSL ES播放一个存在于SDcard上的PCM文件

    native-lib.cpp #include <jni.h> #include <string> #include <SLES/OpenSLES.h> #incl ...

  6. js事件函数中(ev)是什么鬼?

    首先,从ev所在的位置就可以得知,ev是参数. 在ev中包含了事件触发时的函数, 比如: click事件的ev中包含着e.pageX,e.pageY keydown事件中包含着ev.keyCode等 ...

  7. angular之Rxjs异步数据流编程入门

    Rxjs介绍 参考手册:https://www.npmjs.com/package/rxjs 中文手册:https://cn.rx.js.org/ RxJS 是 ReactiveX 编程理念的 Jav ...

  8. 【集成模型】Boosting

    0 - 思想 Bagging算法思想是减少预测方差(variance),Boosting算法思想是为了减少预测偏差(bias). Boosting算法思想是将“弱学习算法”提升为“强学习算法”.一般来 ...

  9. 004-nginx简介、安装配置【源码安装和mac安装】、基本使用

    一.概述 1.1.Nginx是什么 Nginx是一款轻量级的Web服务器,也是一款轻量级的反向代理服务器[常用]. 1.2.Nginx能干什么 Nginx能干的事情很多,这里简要罗列一些: 1:直接支 ...

  10. java调用科大讯飞流式(websocket)语音识别接口

    要使用讯飞的能力,需先注册讯飞开发平台账号(讯飞官网参见https://www.xfyun.cn/). 再创建应用,点击右上角的控制台 -> 创建新应用: 每个应用都有一个appId,由这个ap ...