溫馨提示×

python對象序列化怎么實現

小億
112
2023-10-25 21:06:49
欄目: 編程語言

Python對象序列化可以通過pickle模塊來實現。pickle模塊提供了一種簡單的持久化Python對象的方法,它將Python對象轉化為一系列字節流,可以存儲在文件或者通過網絡傳輸,然后再將字節流重新轉化為原來的Python對象。

以下是一個簡單的示例代碼,演示了如何使用pickle模塊進行對象的序列化和反序列化:

import pickle

# 定義一個對象
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# 序列化對象
def serialize(obj, file_path):
    with open(file_path, 'wb') as file:
        pickle.dump(obj, file)

# 反序列化對象
def deserialize(file_path):
    with open(file_path, 'rb') as file:
        obj = pickle.load(file)
    return obj

# 使用示例
p = Person('Alice', 25)
serialize(p, 'person.pkl')

p_deserialized = deserialize('person.pkl')
print(p_deserialized.name)  # 輸出:Alice
print(p_deserialized.age)   # 輸出:25

在上述代碼中,我們定義了一個Person類,然后使用pickle模塊中的dump方法將Person對象序列化到文件person.pkl中。接著,我們使用pickle模塊中的load方法從文件中反序列化出一個對象p_deserialized,并打印出其中的屬性值。

需要注意的是,在使用pickle進行對象的序列化和反序列化時,要確保讀取和寫入文件的模式分別為rbwb,這樣可以保證以二進制的形式進行讀寫操作。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女