Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python序列化和反序列化

作者:无法言喻   发布日期:2026-04-06   浏览:116

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)

解释说明:

  1. 导入模块:我们使用 pickle 模块来进行序列化和反序列化操作。
  2. 序列化函数 (serialize_object):该函数接受一个 Python 对象和一个文件路径,将对象序列化并保存到指定文件中。pickle.dump() 方法用于将对象转换为字节流并写入文件。
  3. 反序列化函数 (deserialize_object):该函数接受一个文件路径,从文件中读取序列化数据,并将其转换回原始的 Python 对象。pickle.load() 方法用于从文件中读取字节流并将其转换为对象。
  4. 示例使用:创建一个示例字典对象 example_data,然后调用 serialize_object 函数将其序列化并保存到文件中。接着调用 deserialize_object 函数从文件中读取并反序列化对象,最后打印反序列化后的对象。

希望这段代码和解释能帮助你理解 Python 中的序列化和反序列化操作。

上一篇:python 类属性

下一篇:print函数用法python

大家都在看

python 二维码识别

python excel 库

python时间格式

pythoneval函数用法

列表切片操作python

python读取文件路径

staticmethod在python中有

python 保存json文件

python开发windows应用程序

python中len是什么意思

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站