OS模块和JSON模块
【一】OS模块
【二】JSON模块
【1】序列化与反序列化
序列化和反序列化是计算机科学中数据处理中的两个过程,用于将数据从一种格式转换为另一种格式。这两个过程通常称为编码和解码。
序列化是将数据结构或对象转换为字节序列的过程,使得数据可以以一种易于传输和存储的方式进行传输或存储。序列化后的数据通常用于在网络上传输或存储数据,也可以用于在程序运行时进行持久化存储。
反序列化是将字节序列转换回数据结构或对象的过程,使得原始数据可以被重新使用。反序列化通常用于将数据从磁盘或其他存储介质中恢复到内存中,以便进一步处理或使用。
Python 提供了一种内置的序列化和反序列化格式,称为 JSON(JavaScript Object Notation)。JSON 是一种轻量级的数据交换格式,可以用于传输和存储数据,并且可以被大多数编程语言支持。Python 中的 json
模块提供了用于序列化和反序列化的函数,例如 json.dumps()
和 json.loads()
。
序列化和反序列化的另一个常见格式是pickle,它是一种 Python 专用的二进制序列化格式。pickle 可以将 Python 对象序列化为字节序列,并可以将字节序列反序列化为 Python 对象。pickle 是一种非常灵活的序列化格式,可以处理许多类型的对象,例如类实例、函数、数据结构等。但是,pickle 仅适用于 Python,并且不适用于跨平台的数据交换。
【2】序列化与反序列化举例
import json
# 定义一个字典对象
data = {
"name": "张三",
"age": 30,
"city": "北京"
}
# 将字典对象序列化为 JSON 字符串
json_data = json.dumps(data)
print("JSON 数据:", json_data)
# 将 JSON 字符串反序列化为 Python 字典对象
dict_data = json.loads(json_data)
print("反序列化后的字典对象:", dict_data)
输出结果:
JSON 数据: {"name": "张三", "age": 30, "city": "北京"}
反序列化后的字典对象: {'name': '张三', 'age': 30, 'city': '北京'}
【3】JSON保存数据
def save_data(path):
with open(path,'w',encoding='utf-8') as fp:
json.dump(path,fp,ensure_ascii=False)
#ensure_ascii=True,这意味着非ASCII字符将被编码为Unicode字符串
#ensure_ascii=False意味着在JSON字符串中包含非ASCII字符
【4】JSON读取数据
def read_data(path):
with open(path,'r',encoding='utf-8') as fp:
data=json.load(fp)
return data
标签:Python,OS,json,JSON,模块,序列化,data
From: https://www.cnblogs.com/banchengyanyu/p/17917685.html