簡體   English   中英

python pickle:什么? 我什么時候使用它?

[英]python pickle: what is it? when would i use it?

我想到pickle是一個對象持久性庫,可讓我將數據結構寫到磁盤上並重新加載它。

與使用文本文件的“傳統”方法相比,為什么/為什么要這樣做?

編輯:實際上,這不是表達問題的有用方法。 我的意思是在什么情況下泡菜會更容易/更方便,什么時候會給我帶來麻煩? 什么樣的數據或設計模式適合自己泡菜?

當您要存儲非文本的Python對象時,不容易與其他庫(JSON,msgpack等)進行序列化,並且不想編寫自己的序列化和反序列化代碼。

一般來說,腌菜應是萬不得已的序列化和反序列化方法:它不是快速(msgpack 遠遠更快,更緊湊),是不安全的(不用不完泡菜作為cookie或其他客戶端的存儲格式-可訪問的數據!),是不可互操作的(不存在非Python語言的實現)...但是它適用於其他地方通常不支持的對象和數據類型(盡管並非所有 Python對象)。

使用pickle或類似的東西,您可以獲得對象的文本表示形式,可用於重構這些對象。 沒有像pickle這樣的東西,就不能沒有編寫自己的持久性代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM