python IO程式設計之序列化

2021-10-11 09:13:03 字數 1163 閱讀 8413

我們把變數從記憶體中變成可儲存或傳輸的過程稱之為序列化,序列化之後,就可以把序列化後的內容寫入磁碟,或者通過網路傳輸到別的機器上。

反過來,把變數內容從序列化的物件重新讀到記憶體裡稱之為反序列化,即unpickling。

python提供了pickle模組來實現序列化。

pickle.dumps  #把任意物件序列化成乙個bytes
當我們要把物件從磁碟讀到記憶體時,可以先把內容讀到乙個bytes,然後用pickle.loads()方法反序列化出物件,

如果我們要在不同的程式語言之間傳遞物件,就必須把物件序列化為標準格式,比如xml,但更好的方法是序列化為json,因為json表示出來就是乙個字串,可以被所有語言讀取,也可以方便地儲存到磁碟或者通過網路傳輸。json不僅是標準格式,並且比xml更快,而且可以直接在web頁面中讀取,非常方便。

python內建的json模組提供了非常完善的python物件到json格式的轉換。我們先看看如何把python物件變成乙個json:

import requests

import json

lists =[,

]a = json.

dumps

(lists)

print

(a)

要把json反序列化為python物件,用loads()或者對應的load()方法,前者把json的字串反序列化,後者從file-like object中讀取字串並反序列化:

json型別

python型別

{}dict

list

「string」

str1234.56

int或float

true/false

true/false

null

none

C 程式設計之JSON序列化與反序列化

模型類1 json字串模型.是否出錯 public class errormodel endregion region 建構函式 禁止使用空建構函式 private errormodel 建構函式 錯誤標識,0表示沒有錯誤,1表示有錯誤 public errormodel int error end...

序列化(序列化)

原書上翻譯為序列化,msdn翻譯為序列化 作用 當需要儲存,或者網路傳輸 remoting時,資料 物件或值 需要序列化 類似於打包傳輸檔案。system.serializableattribute 序列化是指儲存和獲取磁碟檔案 記憶體或其他地方中的物件。在序列化時,所有的例項資料都儲存到儲存介質上...

序列化(模型序列化 序列化巢狀)

from rest framework import serializers from meituan.models import merchant,class merchantserializer serializers.modelserializer class meta model merch...