美文网首页Python
Python 操作OS、Json(内含技巧) 模块

Python 操作OS、Json(内含技巧) 模块

作者: 巴鶴 | 来源:发表于2021-03-01 20:02 被阅读0次

    Python 学习笔记 https://www.jianshu.com/nb/49026514

    引言

    Python中 json和os模块经常使用。尤其在自动化测试中接口返回Json文件、如何转换json文件,读取字段值,本次集中学习。

    Json

    • 知识点:JSon转换字典


      json转dict.jpg
    • 知识点: 遍历字典查看


      遍历字典.jpg
    • 知识点: 字典转Json串


      字典转Json.jpg
    • 知识点: 高级解析--遍历字典


      多层嵌套Json文件.jpg
      多层嵌套遍历字典.jpg
    # -*- coding: utf-8 -*-
    # @Time : 2021/3/1 19:08
    # @File : 03_json_高级解析.py
    # @Author : Yvon_早安阳光
    import json
    
    json_demo = """ {
    "weixin":[
       {
        "name": "木青子",
        "uid": "8888",
        "desc": "Python"
       },
       {
        "name": "千叶",
        "uid": "6666",
        "desc": "Appium"
       }
    
      ],
    
    "web":[
       {
        "name": "忘忧草",
        "url": "www.baidu.com",
        "desc": "Selenium"
       },
       {
        "name": "花狐",
        "url": "www.huahu.com",
        "desc": "Django"
       }
    
      ]
    
    }"""
    
    if __name__ == "__main__":
    
        #将jSON串转换成字典
        json_dict = json.loads(json_demo)
    
        # print("原类型: %s" % type(json_demo))
        # print("转换后的类型:", type(json_dict))
    
        # 遍历字典
        for (k, v) in json_dict.items():
            # 输出第一层 K为weixin,web  V为其对应的列表[]串的数据
            print(k, ":", v)
            for date in v:
                #             #遍历列表,v为[]
                for (data_k, data_v) in date.items():
                    print(" ", data_k, " ", data_v)
    

    高阶操作--简化遍历字典代码

    遍历字典可以获取所有元素,如果我只想获取到所有的name字段值,遍历字典方法很显然不友好,代码繁琐,神操作来啦! 哈哈!!


    技巧获取嵌套元素.jpg
    import json
    
    from jsonpath import jsonpath
    
    json_demo = """ {
    "weixin":[
       {
        "name": "木青子",
        "uid": "8888",
        "desc": "Python"
       },
       {
        "name": "千叶",
        "uid": "6666",
        "desc": "Appium"
       }
    
      ],
    
    "web":[
       {
        "name": "忘忧草",
        "url": "www.baidu.com",
        "desc": "Selenium"
       },
       {
        "name": "花狐",
        "url": "www.huahu.com",
        "desc": "Django"
       }
    
      ]
    
    }"""
    
    if __name__ == "__main__":
    
        #将jSON串转换成字典
        json_dict = json.loads(json_demo)
        # print("原类型: %s" % type(json_demo))
        # print("转换后的类型:", type(json_dict))
        A = jsonpath(json_dict, '$..name')[0]
        print("查询第一个name: %s" % A)
        names = jsonpath(json_dict, '$..name')
        for name in names:
            print("查询所有name: %s" %name)
    

    OS模块

    • 知识点:获取当前的工作目录

    • 知识点:返回当前目录


      获取目录.jpg
    • 知识点:创建新的文件目录--当文件已存在时,无法创建该文件


      创建文件.jpg
    • 知识点:重命名目录


      重命名文件.jpg
    • 知识点:删除指定目录,要注意删除的目录必须无子目录、子文件


      删除目录.jpg
    • 知识点:改变工作目录


      改变工作目录.jpg
    # -*- coding: utf-8 -*-
    # @Time : 2021/3/1 17:31
    # @File : duqu.py
    # @Author : Yvon_早安阳光
    
    import  os
    if __name__ == "__main__":
        #获取当前的工作目录
        print('获取当前的工作目录: %s'% os.getcwd())
        # 返回当前目录
        print('返回当前目录: %s'%os.curdir)
        # 创建新的文件目录--当文件已存在时,无法创建该文件
        os.mkdir('test_mk5')
        #重命名目录
        os.rename('test_mk3','test_mk1')
        #删除指定目录,要注意删除的目录必须无子目录、子文件
        #目标删除目录必须存在,否则抛出异常
        os.removedirs('test_mk2')
        # 将改变至C盘
        os.chdir("c:")
        print('获取当前的工作目录: %s' % os.getcwd())
    

    相关文章

      网友评论

        本文标题:Python 操作OS、Json(内含技巧) 模块

        本文链接:https://www.haomeiwen.com/subject/gevafltx.html