欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 序列化文件

劉姿婷2年前8瀏覽0評論

Python序列化是指將數據結構或對象轉換成可存儲或可傳輸的格式的過程。在Python中,常用的序列化方式有兩種,即pickle和JSON。

對于pickle序列化方式,它可以將一個Python對象轉換成字節流(二進制流)進行存儲或傳輸。下面是一個示例代碼:

import pickle
# 創建一個Python對象
person = {"name": "Tom", "age": 20, "gender": "male"}
# 序列化成字節流
bytes_person = pickle.dumps(person)
# 將字節流存儲到文件中
with open("person.pkl", "wb") as f:
f.write(bytes_person)
# 從文件中讀取字節流并反序列化成Python對象
with open("person.pkl", "rb") as f:
bytes_person = f.read()
new_person = pickle.loads(bytes_person)
print(new_person)  # 輸出{"name": "Tom", "age": 20, "gender": "male"}

對于JSON序列化方式,它可以將一個Python對象轉換成JSON格式的字符串進行存儲或傳輸。下面是一個示例代碼:

import json
# 創建一個Python對象
person = {"name": "Tom", "age": 20, "gender": "male"}
# 序列化成JSON字符串
json_person = json.dumps(person)
# 將JSON字符串存儲到文件中
with open("person.json", "w") as f:
f.write(json_person)
# 從文件中讀取JSON字符串并反序列化成Python對象
with open("person.json", "r") as f:
json_person = f.read()
new_person = json.loads(json_person)
print(new_person)  # 輸出{"name": "Tom", "age": 20, "gender": "male"}

需要注意的是,如果Python對象中包含了一些特殊的數據類型,比如字典中嵌套了元組等,那么在序列化時可能會出現問題,因為這些特殊的數據類型不一定能被序列化,解決方法可以是編寫自定義的序列化和反序列化函數。