第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > python里load什么意思_【python】json中load和loads区别

python里load什么意思_【python】json中load和loads区别

时间:2020-06-13 11:32:22

相关推荐

python里load什么意思_【python】json中load和loads区别

相同点

dump 和 dumps 都实现了序列化

load 和 loads 都实现反序列化

变量从内存中变成可存储或传输的过程称之为序列化

序列化是将对象状态转化为可保存或可传输格式的过程。

变量内容从序列化的对象重新读到内存里称之为反序列化

反序列化是流转换为对象。

区别

1. load 和 loads(反序列化)

load:针对文件句柄,将json格式的字符转换为dict,从文件中读取(将string转换为dict)

1

a_json = json.load(open('demo.json','r'))

loads:针对内存对象,将string转换为dict(将string转换为dict)

1

a = json.loads('{'a':'1111','b':'2222'}')

2. dump 和 dumps(序列化)

dump:将dict类型转换为json字符串格式,写入到文件(易存储)

12

a_dict = {'a':'1111','b':'2222'}json.dump(a_dict, open('demo.json', 'w')

dumps:将dict转换为string(易传输)

12

a_dict = {'a':'1111','b':'2222'}a_str = json.dumps(a_dict)

总结

根据序列化和反序列的特性

loads: 是将string转换为dict

dumps: 是将dict转换为string

load: 是将里json格式字符串转化为dict,读取文件

dump: 是将dict类型转换为json格式字符串,存入文件

JSON进阶

序列化

123456789

# 使用class对象的__dict__方法class Student(object): def __init__(self, name, age, score): self.name = name self.age = age self.score = scoreimport jsons = Student('Bob', 20, 88)print(json.dumps(s, default=lambda obj: obj.__dict__))

反序列化

12345

def dict2student(d): return Student(d['name'], d['age'], d['score'])

json_str = '{"age": 20, "score": 88, "name": "Bob"}'print(json.loads(json_str, object_hook=dict2student))

python中的序列化和反序列化

Python提供两个模块来实现序列化:cPickle和pickle。这两个模块功能是一样的,区别在于cPickle是C语言写的,速度快,pickle是纯Python写的,速度慢。

变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling

变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling

1234

try: import cPickle as pickleexcept ImportError: import pickle

1.将内存对象存取到磁盘

12

a = dict(a=1, b=2, c=3)pickle.dumps(a) # 将对象序列化为str然后存入文件

12

a = dict(a=1, b=2, c=3)pickle.dump(a, open('a.txt', 'wb')) # 使用dump直接把对象序列化为file-like Object,注意是二进制存储

2.从磁盘读取到内存对象

1

pickle.load(open('a.txt', 'rb')) #从file-like Object中直接反序列化出对象

json中load和loads区别

相同点 dump 和 dumps 都实现了序列化 load 和 loads 都实现反序列化 变量从内存中变成可存储或传输的过程称之为序列化序列化是将对象状态转化为可保存或可传输格式的过程. 变量内容从 ...

Python JSON dump ,load,dumps,loads

JSON是一种轻量级的数据交换格式. json.dump() 将Python数据格式序列化为json数据格式(字符串)并储存在json文件之中. json.load()将Jons数据(字符串)反序列化 ...

package.json中dependencies和devDependencies区别

package.json中dependencies和devDependencies区别 dependencies: 应用能够正常运行依赖的包.用户发布环境,依赖的包不仅开发环境能够使用,生产环境也能使 ...

json -- dump load dumps loads 简单对比

json.dumps是将一个Python数据类型列表进行json格式的编码解析, 示例如下: >>> import json #导入python 中的json模块>>&g ...

Python 3中bytes/string的区别

原文://01/30/the-bytesstr-dichotomy-in-python-3 python 3中最重要的新特性可能就是将文 ...

学习python,第四篇:Python 3中bytes/string的区别

原文://01/30/the-bytesstr-dichotomy-in-python-3 python 3中最重要的新特性可能就是将文 ...

Json中dumps、loads、dump、load函数实例讲解

1.dumps() 1.json.dumps() 用于将字典(dic)类型的数据转成字符串(str),直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数. imp ...

Python中小中花括号的区别

Python主要有三种数据类型:字典.列表.元组.其分别由花括号.中括号.小括号表示. 如: 字典:dic={'a':12, 'b':34} 列表:list=[1,2,3,4] 元组:tup=(1,2 ...

随机推荐

JQuery事件处理的注意事项

1.jQuery 名称冲突 jQuery 使用 $ 符号作为 jQuery 的简介方式. 某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号. jQuery 使用 ...

怎样在WIN7系统下安装IIS和配置ASP(详细)

一:Windows7系统 (IIS是WIN7自带的,版本7.0),首先是安装IIS.打开控制面板,找到“程序与功能”,点进去,点击左侧“打开或关闭Windows功能”,找到“Internet 信息服务 ...

JAVA设计模式---单例模式的几种实现方式比较

1.延迟实例化方式:(懒汉模式) public class Singleton { private static Singleton uniqueInstance; private Singleton ...

程序员过关斩将--面试官再问你Http请求过程,怼回去!

菜菜哥,X总在产品部瞎指挥,作为程序媛的我都快撑不住了 不光你撑不住了,大家都要撑不住了,外行人指导内行人,呵呵 前天我偷偷的去面试了,结果挂了 出去转转其实是好事,面试官问你什么了? 他让我描述一个 ...

element UI table 过滤 筛选问题

一.问提描述 使用elementUI table 官方筛选案例,发现筛选不是服务器端筛选,而是浏览器端对每一页进行单独筛选. 如何在服务器端筛选? 二.查询Element UI 官网table组 ...

Python enum 枚举 判断 key(键) 或者 value(值)是否在枚举中

Python enum 枚举 判断 key(键) 或者 value(值)是否在枚举中 python 的基本用法请浏览:/ibingshan/p/98564 ...

Springboot 上传excel并解析文件内容

最近在做一个物业的系统,需要通过excel上传业主的信息,解析并入库. 参考:/jyyjava/p/8074322.html 话不多说,直接上核心代码 i ...

jvm-class文件简介

jvm全称 java virtual machine (java虚拟机),也就是在计算机上再虚拟一个计算机,它存在于计算机内存中并运行在操作系统之上的. javap -v class文件名 > ...

ajax post get

1.Ajax post 方法

分布式系统下的全局id生成策略分析

对于分布式系统而言,意味着会有很多个instance会并发的生成很多业务数据,比如订单.不同的机房.不同的机器.不同的应用实例会同时生成.所以,如何生成一个好用的全局id并不是一个简单的uuid就能够 ...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。