1. 程式人生 > >pickle模塊和json模塊

pickle模塊和json模塊

import 報錯 地址 with pickle模塊 傳輸 文件中 運行 註意

不要把文件命名為模塊名

#pickle模塊

序列化

import pickle

dic = {‘name‘:‘dodo‘,‘age‘:18}

print(pickle.dumps(dic))#轉成了bytes類型

with open(‘a.pickle‘,‘wb‘)as f:#存

f.write(pickle.dumps(dic))

#簡單方法

pickle.dump(dic,open(‘b.pickle‘,‘wb‘))

反序列化

with open(‘a.pickle‘,‘rb‘)as f:#取

date = pickle.loads(f.read())

print(date)

#簡單方法

res = pickle.load(open(‘b.pickle‘,‘rb‘))

print(res)

"""

註意:pickle可以序列化任意的py數據類型

序列化函數的時候要註意,序列化的是函數名,也就是內存地址

當換文件去讀pickle文件存的函數方法的時候,因為函數沒有在當前文件中

所以函數體沒有被加載進內存,所以執行的時候回報錯

"""

#json模塊

"""

序列化:程序的運行在內存運行,內存斷電數據就沒了,把內存的數據存下來,存到硬盤中

在硬盤中都是文件進行操作的,文件中存的是字符串,內存中可能有字典,列表

等,要想原樣存儲,就用一個中間過程,就是序列化,最終成為字符串存儲到硬盤

中。

為什麽要序列化:1.持久保持程序運行狀態

2.跨平臺傳輸數據

"""

"""

json支持的類型

字典、整形、字符串、列表、bool、null

pickle支持所有Python類型

"""

pickle模塊和json模塊