wns9778.com_威尼斯wns.9778官网

热门关键词: wns9778.com,威尼斯wns.9778官网
wns9778.com > 计算机教程 > wns9778.com:load和loads的区别

原标题:wns9778.com:load和loads的区别

浏览次数:195 时间:2019-05-11

相同点

load 和loads 都是实现“反序列化”

json模块

JSON(JavaScript Object Notation):是一个轻量级的数据交换格式模块,受javascript对象文本语法启发,但不属于JavaScript的子集。

区别

1.loads
loads针对内存对象
loads: 将 字符串 转换为 字典

# 这是一个字符串'{"b": 2, "a": 1}'
d = json.loads('{"b": 2, "a": 1}') 

相应的
dumps:将python中的 字典 转换为 字符串

d_json=json.dumps({'a':1, 'b':2})

2.load
load针对文件句柄
load: 将数据写入json文件中

with open("model.json",'r') as load_f:
    load_dict = json.load(load_f)

如本地有一个json文件,dump就是将内置类型序列化为json对象后写入文件

with open("model.json","w") as f:
    json.dump(new_dict,f)
    print("加载入文件完成...")

常用方法:

dump:将对象以字符串的形式写入文件中。

load:将数据从文件中读出,并返回。

dumps:将对象转换成json字符串形式。

loads:将json字符串数据转换成原来的数据类型。

实例如下:dumps | loads

import jsondict_1 = {"电影":"黄飞鸿","电视剧":"霍元甲"}json_str = json.dumps  # 将字典转换成json的字符串类型dict_2 = json.loads  # 将json的字符串类型转换成原数据print(json_str,type)print(dict_2.items(),type# 打印内容如下{"u7535u5f71": "u9ec4u98deu9e3f", "u7535u89c6u5267": "u970du5143u7532"} <class 'str'>dict_items([('电影', '黄飞鸿'), ('电视剧', '霍元甲')]) <class 'dict'>

实例如下:dump | load

import json# 向文件中写入json数据dict_1 = {"电影":"黄飞鸿","电视剧":"霍元甲"}file_write = open("json.txt",mode="w",encoding="utf-8")json.dump(dict_1,file_write)  # 将字典以json的字符串类型写入文件file_write.close()# 从文件中读取json数据file_read = open("json.txt",mode="r",encoding="utf-8")dict_2 = json.load(file_read) # 将文件中内容转换成原数据类型并返回file_read.close()print(dict_2.items(),type # 打印转换后的数据# 打印内容如下dict_items([('电影', '黄飞鸿'), ('电视剧', '霍元甲')]) <class 'dict'>

这里需要注意的是json模块dump虽然可以多次上传,但是在load时会报错,load函数不能转换多次dump的数据。所以如果想要向json文件中新增数据时,需要将数据load下来转换成原数据,然后在原数据基础上进行新增。最后将处理后的数据dump到文件中。

本文由wns9778.com发布于计算机教程,转载请注明出处:wns9778.com:load和loads的区别

关键词: wns9778.com

上一篇:sql server递归

下一篇:没有了