聊聊python中的load、loads实现反序列化的问题
load与loads
简介:
在python自动化中,我们传递一些参数是需要从文件中读取过来的,读取过来的字典并非python对象数据类型而是string类型。
这样在我们传递参数的时候就会出现格式不正确的情况,这时候就要用到load实现反序列化
python对象数据类型包括list ,dict,tuple,set等
案例1:load
load:load主要处理的是文件流
首先我们新建一个txt文件,文件中写入一个字典
{"a":"1","b":"2"}
这时候我们用py文件把他读取出来
f = open(r'C:\Users\张天赐\PycharmProjects\pythonProject\test\lianxi\load.txt','r',encoding='utf-8') #通过open打开刚刚新建的txt文档 a = f.read() #读取f文件下所有的内容 print(a) #打印下读取的内容 print(type(a)) #打印下读取内容的格式
返回结果
D:\software\python.exe C:/Users/张天赐/PycharmProjects/pythonProject/test/lianxi/111.py
{"a":"1","b":"2"}
<class 'str'>
可以看到我们读取出来的内容看似字典,但是实际type类型是str类型的,如果在做接口测试的时候,接口需要传输
json格式的数据,这时候就会出现报错的情况。
解决方案:使用load方式,将文件中的数据转换成python对象中的dict字典格式
import json f = open(r'C:\Users\张天赐\PycharmProjects\pythonProject\test\lianxi\load.txt','r',encoding='utf-8') #通过open打开刚刚新建的txt文档 a = json.load(f) #读取f文件下所有的内容 print(a) #打印下读取的内容 print(type(a)) #打印下读取内容的格式
返回结果
D:\software\python.exe C:/Users/张天赐/PycharmProjects/pythonProject/test/lianxi/111.py
{'a': '1', 'b': '2'}
<class 'dict'>
案例2:loads
loads:loads主要处理的是字符流
正常打印一个字符形式的字典,返回结果为str类型
test = "{'a':'1','b':'2'}" print(test) print(type(test))
返回结果
{'a':'1','b':'2'}
<class 'str'>
使用loads将sting类型转换为python可读对象
import json test = '{"a":"1","b":"2"}' test1 = json.loads(test) print(test1) print(type(test1))
返回结果
{'a': '1', 'b': '2'}
<class 'dict'>
到此这篇关于python中的load、loads实现反序列化的文章就介绍到这了,更多相关python中的load、loads实现反序列化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
- python处理json字符串(使用json.loads而不是eval())
- Python中json.load()和json.loads()有哪些区别
- python dumps和loads区别详解
- python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
- python json.loads兼容单引号数据的方法
- 解决Python下json.loads()中文字符出错的问题
- Python json模块dumps、loads操作示例
- Python Json模块中dumps、loads、dump、load函数介绍
- python中的load、loads实现反序列化示列
相关文章
使用Python编写一个在Linux下实现截图分享的脚本的教程
这篇文章主要介绍了使用Python编写一个在Linux下实现截图分享的脚本的教程,利用到了scrot和urllib2库,需要的朋友可以参考下2015-04-04Python中在for循环中嵌套使用if和else语句的技巧
Python的语法糖非常强大,比如Python中在for循环中嵌套使用if和else语句的技巧便十分给力,下面我们就举几个例子来看详细的用法:2016-06-06
最新评论