Python学习笔记--对象的序列化和反序列化
import os print(os.path.dirname(r'C:\Users\AD\Desktop\temp1\大哥哥.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'>