Python3.5 Json與pickle實現(xiàn)數(shù)據(jù)序列化與反序列化操作示例
本文實例講述了Python3.5 Json與pickle實現(xiàn)數(shù)據(jù)序列化與反序列化操作。分享給大家供大家參考,具體如下:
1、Json:不同語言之間進行數(shù)據(jù)交互。
(1)JSON數(shù)據(jù)序列化:dumps()
JSON數(shù)據(jù)是一種輕量級的數(shù)據(jù)交換格式,序列化:將內(nèi)存數(shù)據(jù)對象變成字符串。
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:ZhengzhengLiu import json info = { "name":"liu", "age":25, "sex":"girl" } f = open("test.txt","w") print(json.dumps(info)) f.write(json.dumps(info)) f.close()
運行結果如下圖:
(2)JSON數(shù)據(jù)反序列化:loads()
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:ZhengzhengLiu import json f = open("test.txt","r") data = json.loads(f.read()) print(data['age'])
運行結果 :
25
(3)Json序列化——多次dumps;反序列化——不能實現(xiàn)多次loads
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:ZhengzhengLiu import json info = { "name":"liu", "age":32 } f = open("test.txt","w") f.write(json.dumps(info)) #序列化 info["age"]= 21 f.write(json.dumps(info)) f.close()
運行結果:
總結:Json只能處理一些簡單的數(shù)據(jù)類型,如:列表、字典。字符串等。XML正在被Json逐步取代。
Json以后使用只dumps一次,loads一次即可。
2、pickle:通過pickle模塊的序列化操作我們能夠?qū)⒊绦蛑羞\行的對象信息保存到文件中去,永久存儲;
通過pickle模塊的反序列化操作,我們能夠從文件中創(chuàng)建上一次程序保存的對象。
只能在Python語言中用,不能用于其他的語言。
(1)pickle數(shù)據(jù)序列化:
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:ZhengzhengLiu import pickle def sayhi(name): print("hello",name) info = { "name":"liu", "age":32, "func":sayhi } f = open("test.txt","wb") print() f.write(pickle.dumps(info)) f.close()
運行結果如下圖:
(2)pickle數(shù)據(jù)反序列化:
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:ZhengzhengLiu import pickle def sayhi(name): print("hello",name) f = open("test.txt","rb") data = pickle.loads(f.read()) print(data["func"]("liu"))
運行結果:
hello liu
None
PS:這里再為大家推薦幾款比較實用的json在線工具供大家參考使用:
在線JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat
在線json壓縮/轉(zhuǎn)義工具:
http://tools.jb51.net/code/json_yasuo_trans
更多Python相關內(nèi)容感興趣的讀者可查看本站專題:《Python操作json技巧總結》、《Python編碼操作技巧總結》、《Python數(shù)據(jù)結構與算法教程》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
- Python序列化模塊之pickle與json詳解
- Python常用標準庫詳解(pickle序列化和JSON序列化)
- Python 對象序列化與反序列化之pickle json詳細解析
- Python 解析庫json及jsonpath pickle的實現(xiàn)
- Python標準庫json模塊和pickle模塊使用詳解
- Python之數(shù)據(jù)序列化(json、pickle、shelve)詳解
- Python序列化基礎知識(json/pickle)
- 簡單談談Python中的json與pickle
- 詳解Python之數(shù)據(jù)序列化(json、pickle、shelve)
- Python序列化模塊JSON與Pickle
相關文章
python機器學習高數(shù)篇之函數(shù)極限與導數(shù)
這篇文章主要介紹了python機器學習高數(shù)篇之函數(shù)極限和導數(shù),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08python 實現(xiàn)dict轉(zhuǎn)json并保存文件
今天小編就為大家分享一篇python 實現(xiàn)dict轉(zhuǎn)json并保存文件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python實現(xiàn)根據(jù)Excel生成Model和數(shù)據(jù)導入腳本
最近遇到一個需求,有幾十個Excel,每個的字段都不一樣,然后都差不多是第一行是表頭,后面幾千上萬的數(shù)據(jù),需要把這些Excel中的數(shù)據(jù)全都加入某個已經(jīng)上線的Django項目。所以我造了個自動生成?Model和導入腳本的輪子,希望對大家有所幫助2022-11-11Pandas實現(xiàn)DataFrame按行求百分數(shù)(比例數(shù))
今天小編就為大家分享一篇Pandas實現(xiàn)DataFrame按行求百分數(shù)(比例數(shù)),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python Zipfile模塊進行ZIP文件的創(chuàng)建解壓信息獲取和加密等操作
這篇文章主要為大家介紹了Python Zipfile模塊進行ZIP文件的創(chuàng)建解壓信息獲取和加密等操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01