把記憶體中的資料,轉換成位元組或字串的形式,以便於進行儲存或者
網路傳輸.
記憶體中資料 -> 位元組串/字串 : 序列化
位元組串/字串 -> 記憶體中的資料 : 反序列化
json :將資料轉換成字串,用於儲存或網路傳輸.
import json
s = json.dumps([1,2,3]) # 把指定的物件轉換成json格式的字串
print(type(s))
print(s) # '[1,2,3]' [1,2,3]
s = json.dumps((1,2,3)) # 元組序列化後,變成列表
print(s)
#json 不能序列換set型別
# res = json.dumps(set('abc')) # object of type 'set' is not json serializable
將json結果寫到檔案中
with open('a.txt',mode='at',encoding='utf-8') as f:
json.dump([1,2,3],f)
# res = json.dumps([1,2,3])
# lst = json.loads(res) # 反序列化
# print(type(lst))
# print(lst)
# 從檔案中反序列化
# with open('a.txt',encoding='utf-8')as f:
# res = json.load(f)
# print(type(res))
# print(res)
with open('json.txt',mode='at',encoding='utf-8') as f:
f.write(json.dumps([1,2,3]) + '\n')
f.write(json.dumps([4,5,5]) + '\n')
# 把分次序列化的json字串,反序列化回來
# with open('json.txt',mode='rt',encoding='utf-8') as f:
# res = json.loads(f.readline().strip())
# print(res)
# res2 = json.loads(f.readline().strip())
# print(res2)
# 使用迴圈改進:
# for x in f:
# print(json.loads(x.strip()))
將python中所有的資料型別.轉換成位元組串.序列化過程
將位元組串轉換成python中資料型別,反序列化過程.
import pickle
bys = pickle.dumps([1,2,3])
print(type(bys)) # print(bys) # b'\x80\x03]q\x00(k\x01k\x02k\x03e.'
所有的資料型別都可以進行序列化
bys = pickle.dumps(set('abc'))
res = pickle.loads(bys)
print(type(res))
# 把pickle序列化內容寫入檔案中
# with open('c.txt',mode='wb') as f:
# pickle.dump([1,2,3],f)
# 從檔案中反序列化pickle資料
# with open('c.txt',mode='rb') as f:
# res = pickle.load(f)
# print(type(res))
# print(res)
# 多次pickle資料到同乙個檔案中
# with open('c.txt',mode='ab') as f:
# pickle.dump([1,2,3],f)
# pickle.dump([1,2,3],f)
# pickle.dump([1,2,3],f)
# 從檔案中反序列化pickle資料
# with open('c.txt',mode='rb') as f:
# for x in range(4):
# res = pickle.load(f)
# print(res)
1.不是所有的資料型別都可以序列化.結果是字串.
2.不能多次對同乙個檔案序列化.
3.json資料可以跨語言
1.所有python型別都能序列化,結果是位元組串.
2.可以多次對同乙個檔案序列化
3.不能跨語言.
模組 序列化模組 json pickle
模組的形象 內建模組 安裝python直譯器的時候一起安裝上的 第三方模組 擴充套件模組 需要自己安裝 自定義模組 自己寫的py檔案 序列的物件 列表,元組,字串,bytes 序列化的定義 把乙個資料型別轉換成字串,bytes型別的過程 為什麼要把資料型別序列化 當你需要把乙個資料型別儲存在檔案中的...
json pickle資料序列化
json pickle資料序列化json 用於字串和python資料型別間進行轉換 pickle 用於python特有的型別 和 python的資料型別間進行轉換 序列化 把字典或者字串的記憶體物件 存到硬碟上 反序列化 就是從硬碟上載入出來序列化 把字典或者字串的記憶體物件 存到硬碟上 impor...
json pickle資料序列化
json pickle資料序列化json 用於字串和python資料型別間進行轉換 pickle 用於python特有的型別 和 python的資料型別間進行轉換 序列化 把字典或者字串的記憶體物件 存到硬碟上 反序列化 就是從硬碟上載入出來序列化 把字典或者字串的記憶體物件 存到硬碟上 impor...