持久化
假定有一個 Python 程序,它可能是一個管理日常待辦事項的程序,您希望在多次執行這個程序之間可以保存應用程序對象(待辦事項)。換句話說,您希望將對象存儲在磁盤上,便於以后檢索。這就是持久性。
持久化的手段是序列化。
序列化、反序列化
如果希望透明地存儲 Python 對象,而不丟失其身份和類型等信息,則需要某種形式的對象序列化:它是一個將任意復雜的對象轉成對象的文本或二進制表示的過程。同樣,必須能夠將對象經過序列化后的形式恢復到原有的對象。在 Python 中,這種序列化過程稱為 pickle,可以將對象 pickle 成字符串、磁盤上的文件或者任何類似於文件的對象,也可以將這些字符串、文件或任何類似於文件的對象 unpickle 成原來的對象。
- 序列化之后,就可以把序列化后的內容寫入磁盤,或者通過網絡傳輸到別的機器上。
- 反過來,把變量內容從序列化的對象重新讀到內存里稱之為反序列化,即unpickling