zoukankan      html  css  js  c++  java
  • os/json/jsonpath三个模块

    os模块

    1. os.getcwd() 获取当前工作目录

    2. os.path.join(path1,path2) 将多个路径组合后返回

    3. os.chdir(path) 切换到path目录下

    4. os.listdir(path) 获取path中的所有的文件,包括隐藏文件

    5. os.remove('file.name') 删除当前目录中的该元素

    6. os.system('bash command') 运行shell命令, 直接显示

    7. os.getatime(path) 获取该目录最后的存取时间

      os.path.getatime('/Users/hui/Documents/works')
      1578385333.0
      
    8. os.getmtime(path) 获取该目录最后的修改时间

    9. os.path.exist(path) 判断该path是否存在

    10. os.path.split(path) 将path分割成目录和文件名二元组返回

    11. os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素

      os.path.split('/Users/hui/Documents')
      ('/Users/hui', 'Documents')
      os.path.dirname('/Users/hui/Documents')   
      '/Users/hui'
      
    12. os.path.abspath(path) 返回path的绝对路径

    json模块

    1. josn 通常用于web客户端与服务器之间数据交换,即字符串类型与python基本数据类型之间转换。
    2. 常用方法:
      • Json.loads(obj) “json_str” — dict or list
      • Json.dumps(obj) dict or list — "json_str"
    3. json字符串有两种形式:
      • json_dict '{"a":"b", "c":"d"}' json.loads()后变为python中的dict
      • json_list '[1,2,3,4,5]' json.loads()后变为python中的list
    4. 将python中的dict数据类型,转为json字符串,并写入文件
      • json.dump(dict_obj, open('file_name', 'w'))
    5. 将文件中的json字符串,转为python中的dict,并赋值给变量
      • result = json.load(open('file_name', 'r'))

    jsonpath模块

    # -*- coding: utf-8 -*-
    
    from jsonpath import jsonpath
    
    dict_obj = {
        "error_code": 0,
        "stu_info": [
            {
                "id": 314,
                "name": "矿泉水",
                "sex": "男",
                "age": 18,
                "addr": "北京市昌平区",
                "grade": "摩羯座",
                "phone": "18317155663",
                "gold": 100,
                "cars": [
                    {"car1": "bmw"},
                    {"car2": "ben-z"},
                ]
            }
        ]
    }
    
    result = jsonpath(dict_obj, '$..car2')  # 模糊匹配
    print(result, '
    ')
    result = jsonpath(dict_obj, '$.stu_info')  # 取到stu_info这里的所有内容
    print(result, '
    ')
    result = jsonpath(dict_obj, '$.stu_info[0]')  # 取到stu_info里的第1个元素
    print(result, '
    ')
    result = jsonpath(dict_obj, '$.stu_info[0].id')  # 取到stu_info里的第1个元素中的id
    print(result)
    
    ['ben-z'] 
    
    [[{'id': 314, 'name': '矿泉水', 'sex': '男', 'age': 18, 'addr': '北京市昌平区', 'grade': '摩羯座', 'phone': '18317155663', 'gold': 100, 'cars': [{'car1': 'bmw'}, {'car2': 'ben-z'}]}]] 
    
    [{'id': 314, 'name': '矿泉水', 'sex': '男', 'age': 18, 'addr': '北京市昌平区', 'grade': '摩羯座', 'phone': '18317155663', 'gold': 100, 'cars': [{'car1': 'bmw'}, {'car2': 'ben-z'}]}] 
    
    [314]
  • 相关阅读:
    第47课 父子间的冲突
    第46课 继承中的构造与析构
    第45课 不同的继承方式
    3.天线-网络规划-网络优化
    2.多址技术
    断剑重铸013
    断剑重铸012
    断剑重铸011
    1.LTE系统概述
    断剑重铸010
  • 原文地址:https://www.cnblogs.com/hui-code/p/14095469.html
Copyright © 2011-2022 走看看