共計 1168 個字符,預計需要花費 3 分鐘才能閱讀完成。
pickle 模塊是 Python 標準庫中的一個模塊,用于序列化和反序列化 Python 對象。它可以將對象轉換為字節流,然后可以將字節流保存到文件中,或者通過網絡傳輸。pickle 模塊可以將 Python 對象轉換為字節流的形式,以便在需要時可以重新創建對象。
以下是 pickle 模塊的一些常用方法和使用示例:
- pickle.dump(obj, file):將一個對象序列化并保存到文件中。
import pickle
data = {'name': 'John', 'age': 25}
with open('data.pkl', 'wb') as f:
pickle.dump(data, f)
- pickle.dumps(obj):將一個對象序列化并返回一個字節流。
import pickle
data = {'name': 'John', 'age': 25}
data_bytes = pickle.dumps(data)
- pickle.load(file):從文件中加載一個序列化對象。
import pickle
with open('data.pkl', 'rb') as f:
data = pickle.load(f)
- pickle.loads(bytes):從字節流中加載一個序列化對象。
import pickle
data_bytes = b'\x80\x04\x95\x13\x00\x00\x00\x00\x00\x00\x00\x8c\x04John\x94\x8c\x03age\x94K\x19\x86\x94.'
data = pickle.loads(data_bytes)
- pickle.dump(obj, file, protocol):可以指定序列化協議的版本。
import pickle
data = {'name': 'John', 'age': 25}
with open('data.pkl', 'wb') as f:
pickle.dump(data, f, protocol=pickle.HIGHEST_PROTOCOL)
- pickle.dumps(obj, protocol):可以指定序列化協議的版本。
import pickle
data = {'name': 'John', 'age': 25}
data_bytes = pickle.dumps(data, protocol=pickle.HIGHEST_PROTOCOL)
- pickle.HIGHEST_PROTOCOL:表示使用最高版本的序列化協議。
需要注意的是,pickle 模塊只能用于序列化 Python 內置的對象類型以及自定義的對象類型,而不能用于序列化一些特殊的對象,比如打開的文件、數據庫 連接等。
另外,由于 pickle 模塊可以執行任意的 Python 代碼,因此在使用 pickle 模塊從不受信任的源加載數據時,需要小心防止代碼注入和惡意代碼的執行。
丸趣 TV 網 – 提供最優質的資源集合!
正文完