• Python学习笔记--对象的序列化和反序列化


    import os
    
    print(os.path.dirname(r'C:UsersADDesktop	emp1大哥哥.wav'))
    
    # json模块有四个比较重要的函数,分别是:
    #
    # dump - 将Python对象按照JSON格式序列化到文件中
    # dumps - 将Python对象处理成JSON格式的字符串
    # load - 将文件中的JSON数据反序列化成对象
    # loads - 将字符串的内容反序列化成Python对象
    
    
    # 序列化(serialization)在计算机科学的数据处理中,
    # 是指将数据结构或对象状态转换为可以存储或传输的形式,
    # 这样在需要的时候能够恢复到原先的状态,而且通过序列化的数据重新获取字节时,
    # 可以利用这些字节来产生原始对象的副本(拷贝)。
    # 与这个过程相反的动作,即从一系列字节中提取数据结构的操作,就是反序列化(deserialization)
    
    # json.dumps将一个Python数据结构转换为JSON:
    import json
    
    test_dict = {
        'a': 1,
        'b': [2, 3],
        'c': ['d', 'ef']
    }
    data1 = json.dumps(test_dict)
    print(data1)  # {"a": 1, "b": [2, 3], "c": ["d", "ef"]}
    print(type(data1))  # <class 'str'>
    
    # json.loads将一个JSON编码的字符串转换回一个Python数据结构
    data2 = json.loads(data1)
    print(data2, type(data2))  # {'a': 1, 'b': [2, 3], 'c': ['d', 'ef']} <class 'dict'>
    
    # json.dump() 和 json.load() 来编码和解码JSON数据,用于处理文件
    with open('test.json', 'w') as file:
        json.dump(data2, file)
    
    with open('test.json', 'r') as file:
        data = json.load(file)
        print(type(data))  # <class 'dict'>
  • 相关阅读:
    因文件夹取名为system才导致的错误
    如何排除一些不需要SVN版本管理的文件和目录
    ext
    svn忽略文件和文件夹
    TortoiseSVN设置忽略的文件类型或文件夹
    X++学习(一)
    X++学习(三)
    X++学习(二)
    X++学习(四)
    X++学习(五)
  • 原文地址:https://www.cnblogs.com/jifeng0902/p/14707272.html
Copyright © 2020-2023  润新知