pickle
是 Python 的一個標準模組,
主要是用於將 Python 物件序列化和反序列化。
它可以把 Python 物件轉換成二進制格式的字串,
也可以把二進制格式的字串轉換回 Python 物件。
pickle
可以儲存大部分 Python 物件,
包括自定義類別的物件。
pickle
可以用於在 Python 程式中儲存和載入數據,
方便數據的存儲和分享。常見的應用場景包括:
- 儲存和載入模型參數
- 儲存和載入爬蟲數據
- 儲存和載入機器學習數據集儲存和載入程式狀態等等
以下是 pickle
序列化和反序列化的示例:
import pickle
# 定義一個字典
data = {'name': 'Alice', 'age': 18}
# 將字典序列化成二進制字串
binary_data = pickle.dumps(data)
#可用wb模式寫入磁碟機中
# 輸出二進制字串
print(binary_data)
# 將二進制字串反序列化成 Python 物件
new_data = pickle.loads(binary_data)
# 輸出反序列化後的 Python 物件
print(new_data)
pickle 和 struct.pack() 以及
struct.unpack() 有些相似之處,
它們都是用來在 Python 中進行
序列化和反序列化的工具。
但是它們的用途不完全相同。
struct.pack() 和 struct.unpack()
主要用於二進制數據的打包和解析,
例如將整數或浮點數打包成二進制數據,
或者將二進制數據解析為整數或浮點數。
pickle 則是用於 Python 對象的序列化和反序列化。
它可以將 Python 對象轉換成二進制數據流,
並且可以在需要時還原回原始的 Python 對象。
與 struct.pack()
和 struct.unpack()
不同,
pickle
可以處理各種不同的 Python 對象,
包括自定義類型的對象,
而不僅僅是內置的基本數據類型。
推薦hahow線上學習python: https://igrape.net/30afN