序列化:將python裡的基本型別如字典、列表、陣列等序列化為字串
反序列化:將字串反序列化為python裡的基本型別如字典、列表等
常用:json
r = requests.get('杭州')
r.encoding = 'utf-8'
print(r.text)
print()
dic = json.loads(r.text)
print(dic,type(dic))
dump 的功能,將序列化的內容寫入檔案:
import requests
import json
r = requests.get('杭州')
r.encoding = 'utf-8'
print(r.text)
print()
dic = json.loads(r.text)
print(dic,type(dic))
json.dump(dic,open('db','w',encoding='utf-8'))#將序列化的內容寫入檔案
load 的功能,將檔案讀入,反序列化:
import requests
import json
r = requests.get('杭州')
r.encoding = 'utf-8'
print(r.text)
print()
dic = json.loads(r.text)
print(dic,type(dic))
ret = json.load(open('db','r',encoding='utf-8'))#將讀入檔案,反序列化為python型別資料
跨語言操作,基於字串型別,適用範圍廣。
只有基礎的幾種型別:
+-------------------+---------------+
| python | json |
+*****+
=+| dict | object |
+-------------------+---------------+
| list, tuple | array |
+-------------------+---------------+
| str | string |
+-------------------+---------------+
| int, float | number |
+-------------------+---------------+
| true | true |
+-------------------+---------------+
| false | false |
+-------------------+---------------+
| none | null |
+-------------------+---------------+
pickle只能python用,其他語言不能用,同樣有dumps、loads,但是編碼格式只有python讀得懂。但是,如果寫了個類class,用json的dumps時會失敗,因為json試用範圍為以上幾種。
dump 的功能,將序列化的位元組byte內容寫入檔案:
load 的功能,將檔案讀入,反序列化:
import pickle
list = pickle.load(open('db','rb'))
print(list)
對所有型別,特別是複雜型別進行序列化操作,像物件導向的類。
僅適用於python語言的應用,如python遊戲的讀檔、存檔操作。python版本間反序列化有問題。
序列化和反序列化 C 序列化與反序列化。
序列化介紹 把物件用一種新的格式來表示。系列化只序列化資料。序列化不建議使用自動屬性 為什麼要序列化 將乙個複雜的物件轉換流,方便儲存與資訊交換。class program class person public int age 二進位制序列化 就是將物件變成流的過程,把物件變成byte class...
序列化與反序列化
把複雜的資料型別壓縮到乙個字串中 serialize 把變數和它們的值編碼成文字形式 unserialize 恢復原先變數 eg stooges array moe larry curly new serialize stooges print r new echo print r unserial...
序列化與反序列化
序列化是將物件處理為位元組流以儲存物件或傳輸到記憶體 資料庫或檔案。其主要目的是儲存物件的狀態,以便可以在需要時重新建立物件。相反的過程稱為反序列化。通過序列化,開發人員可以儲存物件的狀態,並在需要時重新建立該物件,從而提供物件的儲存以及資料交換。通過序列化,開發人員還可以執行類似如下的操作 通過 ...