网络编程
位置:首页>> 网络编程>> Python编程>> 聊聊python中的load、loads实现反序列化的问题

聊聊python中的load、loads实现反序列化的问题

作者:z天赐  发布时间:2023-07-20 04:38:52 

标签: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'>

来源:https://www.cnblogs.com/ztcbug/p/15422275.html

0
投稿

猜你喜欢

  • 一个js用星投票的例子,不是常见的图片版,当然你如果会点js代码的话应该可以改为更加美观的图片投票,原理都一样。本程序只演示了读取星的个数,
  • 为什么我写ASP分页教程要提到AJAX呢,因为我们要多练习一下编程过程中,结构化的重要性. 再加上很多朋友对分页感到很高深,所以一直都不敢去
  • os包想要使用os包一样要先导入:import osos包下可以直接调用的函数下面介绍一下os包中可以直接调用的函数:例子:例子:例子:注意
  • python里面的matplotlib.pylot是大家比较常用的,功能也还不错的一个包。基本框架比较简单,但是做一个功能完善且比较好看整洁
  • 1、IIS为一个死循的执行过程设定执行时间(缺省为90秒)超时事件:<%response.buffer=true%><BO
  • 如下所示:#coding:utf-8 ''''' Created on 2014-7-24 @aut
  • Instr函数与InstrRev函数大家都应该很熟悉,但是如果你看过《ASP * 站开发实践教程》,你应该注意一下。该书中介绍它们时是很有迷
  • 格式: SELECT column FROM table_name START WITH column=value CONNECT BY P
  • 本文实例为大家分享了JSP实现客户信息管理系统的具体代码,供大家参考,具体内容如下项目示意图大概这样吧。我自己画的 登录界面代码index.
  • txt文件转换为XML很多目标检测的模型都是默认需要VOC的文件输入格式手上数据label是txt文件。为了避免不必要的bug,还是选择转换
  • 重复的数据可能有这样两种情况,第一种: 表中只有某些字段一样,第二种是两行记录完全一样。一、对于部分字段重复数据的删除 1.查询重复的数据
  • 仿windows选项卡或叫做tabpan以及tabpage,现在还有最新的进展譬如仿淘宝网导航菜单效果皆属于此类:运行代码框<scri
  • 什么是 Goroutinegoroutine 是 Go 并行设计的核心。goroutine 说到底其实就是协程,它比线程更小,十几个 gor
  • 一、scrapy1.1 概述Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构
  • icon可以用多个软件制作,也可以通过一些网站把普通图片转换为.ico文件,但通常存在的问题是图片本该透明的地方经转换后变为了黑色或者白色,
  • ASP+XML制作菜单管理!menu.asp  这个是前台执行部分<% '----------------
  • 上代码:#coding=utf-8import cv2import dlibpath = "imagePath/9.jpg&quo
  • parent.html  中的代码为:<iframe marginwidth="0"
  • 前言:在Python里面,只要类型对象实现了__iter__,那么它的实例对象就被称为可迭代对象(Iterable),比如字符串、元组、列表
  • 这篇文章主要介绍了在SQL Server中处理空值时所涉及的3个问题:计数、使用空表值以及外键处理。用COUNT(*)处理空值大多数集合函数
手机版 网络编程 asp之家 www.aspxhome.com