python3--json与pickle数据序列化

必读:json和pickle 可以多次jumps,

1、json适合处理简单数据,可以跨语言、跨文件;

基本方法:(比较low的方法序列化用str转换,反序列化用eval;)

import json

#数据序列化

info = {"name":"bokeyuan"}

f = open("test.txt","w")

f.write(json.dumps(info))

f.close

#数据反序列化

f = open("test.txt","r")

data =  json.loads(f.read())

print(data["name"])

f.close

2、pickle适合处理复杂数据(如:函数),但是只能在本语言使用(python),其它语言不识别pickle数据;

基本方法:

import pickle

#数据序列化

info = {"name":"bokeyuan"}

f = open("test.txt","w")

f.write(pickle.dumps(info))

f.close

////////////////////////////////////////////////////////////////////

#数据序列化的另外一个方法

info = {"name":"bokeyuan"}

f = open("test.txt","w")

pickle.dump(info,f)    #完全等价这个语句:   f.write(pickle.dumps(info))

f.close

#数据反序列化

f = open("test.txt","r")

data = pickle.loads(f.read())

print(data["name"])

f.close

////////////////////////////////////////////////////////////////////

#数据序反列化的另外一个方法

f = open("test.txt","r")

data = pickle.load(f)    #完全等价这个语句: data = pickle.loads(f.read())

print(data["name"])

f.close

原文地址:https://www.cnblogs.com/guoyucong/p/12425686.html

时间: 2024-10-09 10:38:56

python3--json与pickle数据序列化的相关文章

python学习第四章之json与pickle数据序列化

1.终于学到json了,简直是万分期待 2.json序列化:json.dumps() json反序列化:json.loads() json对字典.列表.字符串起作用,可以在不同语言间进行交互. pickle只支持python语言,Java只认识json,一般是dump一次,对应的load一次 3.(1)使用json将字典的一个内容存入文本中, import json info={ 'name':'alex', 'age':22 } f=open("test.text","w&

Day4 - 迭代器&生成器、装饰器、Json & pickle 数据序列化、软件目录结构规范

---恢复内容开始--- 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 需求:列表a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],要求把列表里的每个值加1 1 a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 2 b = [] 3 for i in a: 4 b.append(i+1) 5 a = b 6 print(a) 普通青

Python-Day4 Python基础进阶之生成器/迭代器/装饰器/Json & pickle 数据序列化

一.生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了.所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间.在Python中,这种一边循环一边计算的机制,称为生成器:generator. 要创建一个generator,有很多种

Python3 json &pickle 数据序列化

json 所有语言通用的信息交换格式 json.dumps()将list列表.dict字典.元组.函数等对象转换为可以存储的字符格式存入文件 json.dump(数据对象名,已以写方式打开的对象) 直接写入,省略f.write()写法 这个过程称之为"序列化" json.loads("已读文件对象")将存入的数据类型列表.字典.函数等,读出来.还原为原来的数据类型. json.load("已打开文件对象")  这个过程叫做反序列化   pickl

Json & pickle 数据序列化

前提: 文本文件中只能写入字符串或ascii码格式的内容. info={'name':'zoe','age':18} f=open('test.txt','w') f.write(info) #在文本文件中写入字典格式的内容,执行会报错. f.closed() 变通方式将 f.write(info) 改为 f.write(str(info)). 但是这种写法比较低端. 同时,将文件通过open()读取到环境中,读取进来的还是字符串格式的.上面的操作是序列化,读取文件后的操作时反序列化. f=op

Python之路-python(装饰器、生成器、迭代器、Json & pickle 数据序列化、软件目录结构规范)

装饰器: 首先来认识一下python函数, 定义:本质是函数(功能是装饰其它函数),为其它函数添加附件功能        原则:        1.不能修改被装饰的函数的源代码.        2.不能修改被装饰的函数的调用方式. 1 def test(): 2 print('test') 3 print(test ) #表示是函数 4 test() #表示执行foo函数 <function test at 0x00595660>#表示的是函数的内存地址test#函数test执行结果 简单的装

装饰器、生成器,迭代器、Json &amp; pickle 数据序列化

1. 列表生成器:代码例子 1 a=[i*2 for i in range(10)] 2 print(a) 3 4 运行效果如下: 5 D:\python35\python.exe D:/python培训/s14/day4/列表生成式.py 6 [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] 7 8 Process finished with exit code 0 2.高阶函数 变量可以指向函数,函数的参数能接受变量,即把一个函数名当做实参传给另外一个函数 返回值中包涵

python------Json与pickle数据序列化

一.json序列化 xml在被json取代,不同平台之间的语言转换,只能处理简单的.复杂的用pickle: pickle只能在python中用,而在Java中json也可以被识别. info = { 'name':'xiaolaizi', 'age':22 } f = open("test.text","w") f.write(str(info))------------------------------------------------ import json

python数据序列化---json &amp; pickle

json & pickle数据序列化 序列化: 就是列表,字典等数据类型转乘字符串存入文本文件 反序列: 就是字符串从文本读出来后通过一种方法转化为列表,字典等数据类型.例如eval() json通用的:只能处理一些简单的数据类型:json: 序列化和反序列化函数: 案例1:  import json  info = {   "name": "brace",   "age": 22,  }  json_str = json.dumps(i