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'>

最新文章

  1. springMVC下集成active MQ发送邮件
  2. 数据结构算法C语言实现(七)--- 3.1栈的线性实现及应用举例
  3. pgadmin(IDE)工具连接postgres数据库
  4. 22. Generate Parentheses——本质:树,DFS求解可能的path
  5. Python subprocess Popen
  6. [LeetCode OJ] Max Points on a Line—Given n points on a 2D plane, find the maximum number of points that lie on the same straight line.
  7. 使用Mina框架开发 QQ Android 客户端
  8. Java 8新特性探究(九)跟OOM:Permgen说再见吧
  9. NOSQL EYE开源
  10. 编译安装LAMP并实现wordpress
  11. Iframe父子窗口之间的跨域事件调用和传值
  12. 六十、linux 编程—— I/O 多路复用 select
  13. 论文阅读(Lukas Neumann——【ICCV2017】Deep TextSpotter_An End-to-End Trainable Scene Text Localization and Recognition Framework)
  14. C#基础知识回顾:1.由WeakReference想到对象的创建与销毁
  15. 详解 Solidity 事件Event - 完全搞懂事件的使用
  16. CF232C Doe Graphs
  17. netstat统计的tcp连接数与⁄proc⁄pid⁄fd下socket类型fd数量不一致的分析
  18. webbrowser 静音(刷新、点击网页的声音)(包括flash静音)
  19. LG2831 愤怒的小鸟
  20. Matplotlib——中级

热门文章

  1. JSP(Java Server Pages)内置对象
  2. eclipse建立c语言工程以及成功下载到FPGA芯片过程遇到的各种问题以及解决方法详解
  3. RHEL7.2下DHCP服务器的搭建
  4. Python中管理数据库
  5. Markdown Sublime flowchart.js 流程图
  6. Python - 面向对象编程 - 小实战(1)
  7. Python - 面向对象编程 - 实战(5)
  8. 《Go语言圣经》阅读笔记:第二章程序结构
  9. java短信群发项目:
  10. 关于 CLAHE 的理解及实现