python 序列化模組

2022-08-17 04:39:12 字數 1985 閱讀 1679

序列化——轉向乙個字串資料型別

序列——字串

用在資料儲存以及在網路上傳輸的時候等

從資料類》字串的過程 叫序列化

從字串》資料型別的過程 叫反序列化

json是乙個在所有語言都通用的序列化格式,但是相對的它支援的資料型別就比較少了

只有很少的一部分資料型別能夠通過json轉化成字串

在python中,數字int,字串str,列表list,字典dict都是能序列化的

元組tuple也能序列化,不過它是轉成列表再序列化的,反序列化後還是列表

集合set是不能進行序列化的

dumps

import

json

li = [1,2,3,'

holle

',[22,33],,(23,3)]

ret =json.dumps(li)

print(type(ret),ret)

[1, 2, 3, "holle", [22, 33], , [23, 3]]

loads

import

json

li = [1,2,3,'

holle

',[22,33],,(23,3)]

ret =json.dumps(li)

print

(type(ret),ret)

ret2 =json.loads(ret)

print(type(ret2),ret2)

[1, 2, 3, "holle", [22, 33], , [23, 3]]

[1, 2, 3, 'holle', [22, 33], , [23, 3]]

除了這倆還有另外兩個dumpload,這倆看著和上面倆只是差個s

它們的功能也是相似的,當然也有著不聽之處

dump

import

json

li =

f = open('

file

','w

',encoding='

utf-8')

json.dump(li,f)

f.close()

它的作用是在乙個檔案中寫入序列化之後的字串

load

import

json

li =

f = open('

file

','w

',encoding='

utf-8')

json.dump(li,f)

f.close()

f = open('

file')

res =json.load(f)

f.close()

print(type(res),res)

對檔案的讀取,讀取必須是用dump寫入的

所有python中的資料型別都可以轉化成字串形式

pickle序列化的內容只有python能理解

pickle反序列化必須要與序列化時相同的環境支援

pickle的用法和json的一樣

不過dumps寫的是bytes型別的,所以讀寫要加上bytes型別的轉換

序列化控制代碼

使用控制代碼直接操作,非常方便

import

shelve

f = shelve.open('

shelve_file')

f['key'] =

f.close()

f1 = shelve.open('

shelve_file')

existing = f1['

key'

] f1.close()

print(existing)

直接對檔案控制代碼操作,就可以存入資料

取出資料的時候也只需要直接用key獲取即可,但是如果key不存在會報錯

python 序列化模組 python 序列化模組

一 介紹 1 分類 序列化 資料型別 字串 反序列化 字串 資料型別 2 作用 檔案傳輸和檔案儲存需要將資料型別轉換成字串 二 序列號模組分類 1 json 優點 程式語言中的英語,同用語言 缺點 資料型別少 數字 字串 列表 字典 元祖 通過列表進行的 2 pickle 優點 python的所有資...

python 序列化模組

1 分類 序列化 資料型別 字串 反序列化 字串 資料型別 2 作用 檔案傳輸和檔案儲存需要將資料型別轉換成字串 1 json 優點 程式語言中的英語,同用語言 缺點 資料型別少 數字 字串 列表 字典 元祖 通過列表進行的 2 pickle 優點 python的所有資料型別 缺點 不通用,只能在p...

python模組 序列化

主要內容 1.序列化模組.json pickle shelve 了解 序列化模組 為了把資料用於網路傳輸,以及檔案的讀寫操作.序列化 將資料轉化成序列化字串.反序列化 將序列化字串轉化成原資料.序列化模組 序列化是創造乙個序列.如何把乙個字典傳給其他人,依賴之前的知識也可以做到,參考如下 dic s...