import pickle
# 序列化:将 Python 对象转换为字节流,以便存储或传输。
def serialize_object(obj, file_path):
"""
将对象序列化并保存到文件中。
参数:
obj: 要序列化的对象。
file_path: 保存序列化数据的文件路径。
"""
with open(file_path, 'wb') as file:
pickle.dump(obj, file)
print(f"对象已成功序列化并保存到 {file_path}")
# 反序列化:将字节流转换回 Python 对象。
def deserialize_object(file_path):
"""
从文件中读取序列化数据并反序列化为对象。
参数:
file_path: 包含序列化数据的文件路径。
返回:
反序列化后的对象。
"""
with open(file_path, 'rb') as file:
obj = pickle.load(file)
print(f"对象已成功从 {file_path} 反序列化")
return obj
# 示例使用
if __name__ == "__main__":
# 创建一个示例对象
example_data = {'name': 'Alice', 'age': 30, 'city': 'New York'}
# 序列化对象
serialize_object(example_data, 'example_data.pkl')
# 反序列化对象
loaded_data = deserialize_object('example_data.pkl')
print("反序列化后的对象:", loaded_data)
pickle 模块来进行序列化和反序列化操作。serialize_object):该函数接受一个 Python 对象和一个文件路径,将对象序列化并保存到指定文件中。pickle.dump() 方法用于将对象转换为字节流并写入文件。deserialize_object):该函数接受一个文件路径,从文件中读取序列化数据,并将其转换回原始的 Python 对象。pickle.load() 方法用于从文件中读取字节流并将其转换为对象。example_data,然后调用 serialize_object 函数将其序列化并保存到文件中。接着调用 deserialize_object 函数从文件中读取并反序列化对象,最后打印反序列化后的对象。希望这段代码和解释能帮助你理解 Python 中的序列化和反序列化操作。
上一篇:python 类属性
下一篇:print函数用法python
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站