詳解Python 序列化Serialize 和 還原序列化Deserialize,

來源:互聯網
上載者:User

詳解Python 序列化Serialize 和 還原序列化Deserialize,

詳解Python 序列化Serialize 和 還原序列化Deserialize

序列化 (serialization)

序列化是將對象狀態轉換為可保持或傳輸的格式的過程。與序列化相對的是還原序列化,

它將流轉換為對象。這兩個過程結合起來,可以輕鬆地儲存和傳輸資料。

序列化和還原序列化的目的  

1、以某種儲存形式使自訂對象持久化;  

2、將對象從一個地方傳遞到另一個地方。  

3、使程式更具維護性

序列化

  由於存在於記憶體中的對象都是暫時的,無法長期駐存,為了把對象的狀態保持下來,這時需要把對象寫入到磁碟或者其他介質中,這個過程就叫做序列化。

還原序列化

  還原序列化恰恰是序列化的反向操作,也就是說,把已存在在磁碟或者其他介質中的對象,還原序列化(讀取)到記憶體中,以便後續操作,而這個過程就叫做還原序列化。

  概括性來說序列化是指將對象執行個體的狀態儲存到儲存媒體(磁碟或者其他介質)的過程。在此過程中,先將對象的公用欄位和私人欄位以及類的名稱(包括類所在的程式集)轉換為位元組流,然後再把位元組流寫入資料流。在隨後對對象進行還原序列化時,將建立出與原對象完全相同的副本。

Python中可以使用 Pickle 和 json, 以及自訂序列化還原序列化函數進行處理需要序列化的資料。

代碼如下:

import pickleimport jsond = [1,2,3,4]print(pickle.dumps(d))print(type(pickle.dumps(d)))print(json.dumps(d))print(type(json.dumps(d)))

感謝閱讀,希望能協助到大家,謝謝大家對本站的支援,如有疑問請留言或者到本站社區交流討論,大家共同進步!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.