python3学习之序列化

其他-->字符串,叫序列化

字符串-->其他,叫反序列化

有两个模块:

json   可以处理python基本数据类型,字典,列表,元组,保存的文件是“明文的”

pickle 可以处理python全部数据类型,专用于python,保存的文件是“加密的”

json

import json

l = ‘{"a":123,"b":234}‘

ll = json.loads(l)   #从变量加载字符串转为词典;json格式的数据必须是键值对;  python-> json
print(ll,type(ll))

s = json.dumps(ll)   #将json格式的变量转换为python;   json-> python
print(s,type(s))

op = open("t.log","r")
r = json.load(op)  #从文件加载
print(r,type(r))

op1 = open("tt.log", "a")
json.dump(ll, op1)  #写入到文件

pickle

import pickle   #读写都是字节即:wb或者rb

l = ‘aaaaaaaaa‘
l1 = pickle.dumps(l)
print(l1)

ll = pickle.loads(l1)
print(ll)

pickle.dump(l1,open("ttt.log","wb"))  #写入文件,wb以字节写入
pickle.load(open("ttt.log","rb"))     #读取文件,rb以字节读取   b很重要
时间: 2024-08-28 14:27:54

python3学习之序列化的相关文章

.net学习笔记--序列化与反序列化

序列化其实就是将一个对象的所有相关的数据保存为一个二进制文件(注意:是一个对象) 而且与这个对象相关的所有类型都必须是可序列化的所以要在相关类中加上 [Serializable]特性 对象类型包括:对象本神包含的类型,父类 拥有需要的对象之后:1.将对象转换为二进制数据 使用专门的对像进行转换 BinaryFormatter 2.将二进制数据写入到文件 FileSteam 反序列化则是把二进制文件转换为一个对象 例子代码如下: 1 using System; 2 using System.Col

python3学习之字符串

s='this is test message' s.capitalize()    首字母大写,其它小写 s.find(sub[, start[, end]])      在指定范围内(默认全部字符串),查找sub是否包含在字符串中,包含时                                             返回第一次匹配的index,否则返回-1 s.rfind(sub[, start[, end]])    在指定范围内(默认全部字符串),查找sub是否包含在字符串中,

Python3学习(2)-中级片

Python3学习(1)-基础片 切片:取数组.元组中的部分元素 L=['Jack','Mick','Leon','Jane','Aiden'] 取前三个:使用索引 取2-4个元素:索引 取最后2个元素:索引,倒序 取前3个元素:索引 N=[0,1,2,3,4,5,6,7,8,9] 前8个中每2个取1个 每3个中取1个 高阶函数:map/reduce/filter/sorted map:map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并

【JAVA学习】序列化与反序列化

尊重原创:http://zhidao.baidu.com/question/155071231.html?fr=qrl&cid=870&index=1 1.序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来.虽然你可以用你自己的各种各样的方法来保存Object States,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化. 2.什么情况下需要序列化 a)当你想把的内存中的对象保存到一个文件中或者数据库中时候: b)当你

Python3学习笔记(urllib模块的使用)转http://www.cnblogs.com/Lands-ljk/p/5447127.html

Python3学习笔记(urllib模块的使用) 1.基本方法 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None) -         url:  需要打开的网址 -         data:Post提交的数据 -         timeout:设置网站的访问超时时间 直接用urllib.request模块的urlopen()

深入学习 Java 序列化

深入学习 Java 序列化 来源  http://www.importnew.com/24490.html 原文 http://beautyboss.farbox.com/post/study/shen-ru-xue-xi-javaxu-lie-hua 前言 对于Java的序列化,一直只知道只需要实现Serializbale这个接口就可以了,具体内部实现一直不是很了解,正好这次在重复造RPC的轮子的时候涉及到序列化问题,就抽时间看了下 Java序列化的底层实现,这篇文章算是这次的学习小结吧. 第

Python3学习之异常处理详解

本文和大家分享的主要是python3中的异常及相关解决方法,一起来看看吧,希望对大家学习python3有所帮助. 一.错误和异常 1.错误 代码运行前的语法或者逻辑错误 . 语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) def test: ^ SyntaxError: invalid syntax #语法错误示范def test: pass #语法错误示范class Foo pass #语法错误示范 print(haha 其他语法错误 . 逻辑错误 #用户

嘿嘿,学习啦序列化

嘿嘿,不论发生什么的情况,学校没有老师上课也好,我们都要自己主动地学习啦,学习是不能落下的啦,虽然我们这周没有老师给我们上课,但是我们只有自己学习啦,还记得前几天,老是简单的说啦下序列化,那时间也只是简单的听啦一下大概的内容,只知道需要一个关键字啦,今天没有上课也就没有什么新的知识总结啦,那么我就自己寻找些自己想知道的啦,下面详细的总结下序列化与反序列化啦. 一.序列化 序列化:就是将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可

Python3学习

要做一个儿童搜索引擎的项目(www.kidsearch.cn),所以开始接触各种新的语言,觉得python的爬虫确实很厉害,确实有必要学习. 学习网站:廖雪峰的python3教程http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 同样,有点难记,可以用这个:www.selflink.cn/links/python 以下是学习笔记.因为语言基本都差不多,所以记的内容大多数是一些细小的知