zoukankan      html  css  js  c++  java
  • 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张天赐PycharmProjectspythonProject	estlianxiload.txt','r',encoding='utf-8') #通过open打开刚刚新建的txt文档
    a = f.read()   #读取f文件下所有的内容
    print(a)  #打印下读取的内容
    print(type(a)) #打印下读取内容的格式

    返回结果

    D:softwarepython.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张天赐PycharmProjectspythonProject	estlianxiload.txt','r',encoding='utf-8') #通过open打开刚刚新建的txt文档
    a = json.load(f)  #读取f文件下所有的内容
    print(a)  #打印下读取的内容
    print(type(a)) #打印下读取内容的格式

    返回结果

    D:softwarepython.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'>
  • 相关阅读:
    新代(Syntec)机床的IP设置
    使用任务计划程序实现用户未登录情况下的程序开机自启动
    sql server 数据库访问端口配置
    Http请求
    EF
    SQL Server常用处理
    利用ZXing生成条码二维码例子
    SQL JOIN常见情况
    C#ORM框架收集
    sql server连接oracle并实现增删改查
  • 原文地址:https://www.cnblogs.com/ztcbug/p/15422275.html
Copyright © 2011-2022 走看看