python中的load、loads实现反序列化示列
作者:hqx 时间:2023-04-01 23:49:56
1、简介
在python
自动化中,我们传递一些参数是需要从文件中读取过来的,读取过来的字典并非python
对象数据类型而是string
类型。
这样在我们传递参数的时候就会出现格式不正确的情况,这时候就要用到load
实现反序列化
python
对象数据类型包括list
,dict
,tuple
,set
等
2、案例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'>
3、案例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'>
来源:https://www.cnblogs.com/ztcbug/p/15422275.html
标签:python,load,loads
0
投稿
猜你喜欢
asp文章干扰码实现方法
2007-08-19 18:07:00
python计算auc指标实例
2021-12-21 12:10:03
Python实战小程序利用matplotlib模块画图代码分享
2021-08-27 18:31:47
Vuex模块化实现待办事项的状态管理
2024-04-27 15:59:55
超全面python常见报错以及解决方案梳理必收藏
2022-02-14 16:33:17
Python使用scrapy采集时伪装成HTTP/1.1的方法
2023-07-07 01:28:40
绿色版 mysql 安装配置
2024-01-20 23:05:01
python中图像通道分离与合并实例
2021-04-02 00:09:48
使用Python从零开始撸一个区块链
2021-06-02 07:28:22
获取当前url
2024-05-09 09:04:30
使用Python中Tkinter模块的Treeview 组件显示ini文件操作
2022-05-23 03:45:38
python将文本转换成图片输出的方法
2023-06-20 11:47:47
python利用JMeter测试Tornado的多线程
2022-10-15 12:03:26
python的pdb调试命令的命令整理及实例
2022-10-01 01:47:12
Mysql的复合索引如何生效
2024-01-26 06:53:17
让设计散发文化韵味
2009-03-22 15:01:00
MySQL8自增主键变化图文详解
2024-01-25 19:08:38
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
2021-07-10 03:34:55
SqlServer使用公用表表达式(CTE)实现无限级树形构建
2024-01-22 00:34:09
搜索结果页(SERP):前言
2009-07-22 20:56:00