Python 序列化Json、Pickle

#!/usr/bin/env python

# -*- coding:utf-8 -*-

# author: Changhua Gong

‘‘‘

Json仅支持简单的数据类型,不支持复杂类型的序列化,如函数

‘‘‘

import json

info = {"name":"daidai", "salary":15000}

# 序列化

with open("test.txt", "w") as f:

# f.write(json.dumps(info))

json.dump(info,f)  # 与上句完全等价

# 反序列化

with open("test.txt", "r") as f:

# print(json.loads(f.read()))

print(json.load(f)) # 与上句完全等价

#!/usr/bin/env python

# -*- coding:utf-8 -*-

# author: Changhua Gong

‘‘‘

Pickle可序列化python中所有的数据类型,仅在Python中

例如pickle可序列化函数

‘‘‘

import pickle

def fun_print():

print("1......")

info = {"name":"daidai", "salary":15000, "func":fun_print}

# 序列化

with open("test.txt", "wb") as f:  # 以二进制写入

# f.write(pickle.dumps(info))

pickle.dump(info,f)  # 与上句完全等价

#!/usr/bin/env python

# -*- coding:utf-8 -*-

# author: Changhua Gong

import pickle

def fun_print(s):

print("2......%s" % s)

# 反序列化

with open("test.txt", "rb") as f: # 以二进制读取

rs = pickle.load(f)

print(rs)

rs["func"]("daidai")  # 实际上这里有func对应函数对应即可(仅需保证函数名一致即可),甚至可修改调用方式和函数体

时间: 2024-12-23 12:31:53

Python 序列化Json、Pickle的相关文章

python 序列化 json pickle

python的pickle模块实现了基本的数据序列和反序列化.通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储:通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象. 基本接口: pickle.dump(obj, file, [,protocol]) 注解:将对象obj保存到文件file中去. protocol为序列化使用的协议版本,0:ASCII协议,所序列化的对象使用可打印的ASCII码表示:1:老式的二进制协议:2:2.3版本引

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

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

【python】-- json & pickle、xml、requests、hashlib、shelve、shutil、configparser、subprocess

json & pickle Python中用于序列化的两个模块 json     用于[字符串]和 [python基本数据类型] 间进行转换 pickle   用于[python特有的类型] 和 [python基本数据类型]间进行转换 Json模块提供了四个功能:dumps.dump.loads.load 1.dumps序列化和loads反序列化 dumps()序列化 import json #导入json模块 info = { 'name':"zhangqigao", &qu

学习廖雪峰Python3教程的python序列化json模块的小笔记

我们把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语言中也被称之为serialization,marshalling,flattening等等,都是一个意思. 序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上. 序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上. Python提供了pickle模块来实现序列化. import pickle d = {"name":"Alice&quo

Day 4-5 序列化 json & pickle

序列化: 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes. 反序列化: 把字符转成内存里的数据类型. 用于序列化的两个模块.他们的使用方法完全一样. json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps.dump.loads.load pickle模块提供了四个功能:dumps.dump.loads.

python之json&pickle

用于序列化的两个模块: json:用于字符串和python数类型间进行转换 oickle:用于python特有的类型和python的数据类型间进行转换 json.pickle模块提供四个功能:dumps.dump.loads.load 使用json&pickle将转化成字符串写入文件 1 import json 2 import pickle 3 4 def sayhi(name): 5 print("hello,", name) 6 7 info = { 8 "na

Python序列化模块pickle和json使用和区别

这是用于序列化的两个模块: ? json: 用于字符串和python数据类型间进行转换 ? pickle: 用于python特有的类型和python的数据类型间进行转换 Json模块提供了四个功能:dumps.dump.loads.load pickle模块提供了四个功能:dumps.dump.loads.load 那pickle和json有什么区别呢? json是可以在不同语言之间交换数据的,而pickle只在python之间使用. json只能序列化最基本的数据类型,而pickle可以序列化

python序列化之pickle,json,shelve

模块 支持方法 说明 json dumps/dump loads/load 只能处理基本数据类型: 用于多种语言间的数据传输: pickle dumps/dump loads/load 支持python所有数据类型: 用于python程序间互相传输对象: pickle反序列化后的对象与原对象是等值的副本对象,类似于deepcopy shelve open close 以键值对的形式保存数据,可直接操作文件 原文地址:https://www.cnblogs.com/stin/p/8350749.h

4 Apr 18 软件开发目录 logging模块的使用 序列化(Json, Pickle) os模块

4 Apr 18 上节课复习:函数在一个程序内被使用,模块可以被几个程序共享使用 一.软件开发目录 confàsettings.py core(主要逻辑)àsrc.py dbàdb.txt lib(库)àcommon.py bin(入口,启动)àstart.py logàaccess.log readme(说明书)   二.logging模块的使用 日志分为五个级别:debug 10, info 20, warning 30, error 40, critical 50 若日志级别设为10,包括