from os import write
print("===========================序列化-反序列化===============================")
#暫時(shí)這么理解
#序列化:將數(shù)據(jù)從內(nèi)存持久化保存到硬盤的過程
#反序列化:將數(shù)據(jù)從硬盤加載到內(nèi)存的過程
#write時(shí),只能寫入字符串或者二進(jìn)制
#字典 列表 數(shù)字 等都不能直接寫入到文件當(dāng)中
#1將數(shù)據(jù)轉(zhuǎn)換成字符串:repr / str
#2將數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制
#3將數(shù)據(jù)轉(zhuǎn)換成 Json:本質(zhì)是字符串
file = open("Pfile/Pfile13.txt","w",encoding="utf8")
file.write("nihao caonima de ")
names = ["張","找","曹操","給車","算法","算法","兒童","兒童"]
file.write(names.__repr__())
file.write(str(names))
file.close()
#json里將數(shù)據(jù)持久化有2個(gè)方法:
#dumps:將數(shù)據(jù)轉(zhuǎn)換成為json字符串,不會將數(shù)據(jù)保存到文件里
#dump:將數(shù)據(jù)轉(zhuǎn)換成為json字符串,會將數(shù)據(jù)保存到文件里
import json
file = open("Pfile/Pfile14-json.txt","w",encoding="utf8")
names = ["json","Hello","gg","hh","jj","kk","ll","ii"]
x = json.dumps(names) #dumps:將數(shù)據(jù)轉(zhuǎn)換成字符串,不會將數(shù)據(jù)保存到文件里
file.write(x) #手動寫入文件
print(x)
file.close()
file = open("Pfile/Pfile15-json.txt","w",encoding="utf8")
names = ["json","Hello","gg"]
x = json.dump(names,file) #dumps:將數(shù)據(jù)轉(zhuǎn)換成字符串,會將數(shù)據(jù)保存到文件里,自動寫入文件
file.close()
#json里將數(shù)據(jù)反序列化有2個(gè)方法:
#loads:將json字符串加載成為Python里的數(shù)據(jù)
#load:讀取文件徽诲,把讀取的內(nèi)容加載成為Python里的數(shù)據(jù)
xx = '{"name":"world","good":"bad","love":90}'
p = json.loads(xx) #loads:將json字符串加載成為Python里的數(shù)據(jù)
print(p["name"])
file = open("Pfile/Pfile15-json.txt","r",encoding="utf8")
yy = json.load(file) #load:讀取文件轴咱,把讀取的內(nèi)容加載成為Python里的數(shù)據(jù)
print(yy)
print(yy[0])
print("===========================Pickle模塊使用===============================")
#json:將Python里的數(shù)據(jù)(str/list/tuple/dict/int/float/bool/None)等轉(zhuǎn)化為對應(yīng)的Json字符串
#pickle:將Python里任意的對象轉(zhuǎn)換為二進(jìn)制
import pickle
#序列化 dumps:轉(zhuǎn)化成二進(jìn)制 dump:轉(zhuǎn)化成二進(jìn)制并寫入到文件
#反序列化 loads:將二進(jìn)制轉(zhuǎn)化成為Python數(shù)據(jù) load:讀取文件二進(jìn)制數(shù)據(jù)轉(zhuǎn)化成為python
names = ["諸葛亮","json","Hello","gg","你好"]
#dumps
file = open("Pfile/Pfile16-pickle.txt","wb")
b_names = pickle.dumps(names)
file.write(b_names) #寫入的是二進(jìn)制
file.close()
#dump
file = open("Pfile/Pfile16-pickle.txt","wb")
pickle.dump(names,file)
file.close()
#loads
file = open("Pfile/Pfile16-pickle.txt","rb")
x = file.read()
y = pickle.loads(x)
print(y)
file.close()
#load
file = open("Pfile/Pfile16-pickle.txt","rb")
y = pickle.load(file)
file.close()
print(y)
print("===========================Pickle 與 json區(qū)別===============================")
#pickle 用來將數(shù)據(jù)原封不動的轉(zhuǎn)換成為二進(jìn)制,只能用Python讀 不能跨平臺
#json 只能保存部分?jǐn)?shù)據(jù)(基本數(shù)據(jù)類型)畸颅,用在不同平臺傳輸數(shù)據(jù),夸平臺
Python-Json-Pickle
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吃型,“玉大人证鸥,你說我怎么就攤上這事∏谕恚” “怎么了枉层?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長赐写。 經(jīng)常有香客問我鸟蜡,道長,這世上最難降的妖魔是什么血淌? 我笑而不...
- 正文 為了忘掉前任矩欠,我火速辦了婚禮,結(jié)果婚禮上悠夯,老公的妹妹穿的比我還像新娘癌淮。我一直安慰自己,他們只是感情好沦补,可當(dāng)我...
- 文/花漫 我一把揭開白布乳蓄。 她就那樣靜靜地躺著,像睡著了一般夕膀。 火紅的嫁衣襯著肌膚如雪虚倒。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼哈蝇,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了攘已?” 一聲冷哼從身側(cè)響起炮赦,我...
- 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎样勃,沒想到半個(gè)月后吠勘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體性芬,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年看幼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了批旺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布,位于F島的核電站宵凌,受9級特大地震影響鞋囊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瞎惫,卻給世界環(huán)境...
- 文/蒙蒙 一溜腐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瓜喇,春花似錦挺益、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至伞辛,卻和暖如春烂翰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蚤氏。 一陣腳步聲響...
- 正文 我出身青樓佳恬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親姐呐。 傳聞我的和親對象是個(gè)殘疾皇子殿怜,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 1鸠澈、pickle 1.1 簡介 pickle可以將字符串柱告、列表、字典等數(shù)據(jù)保存在文件中笑陈,同時(shí)也可以從文件中重新加載...
- 序列化相關(guān) 如果我們要在不同的編程語言之間傳遞對象涵妥,就必須把對象序列化為標(biāo)準(zhǔn)格式乖菱,比如XML,但更好的方法是序列化...
- 一、定義 序列化是指將對象從內(nèi)存中取出來寫入存儲區(qū)帆锋,如txt文件中吵取,反序列則相反。 二锯厢、 應(yīng)用場景 跨平臺數(shù)據(jù)傳輸...
- 1 json json數(shù)據(jù)是一種只包含雙引號的字符串格式皮官,任何對象經(jīng)過json序列化后單引號也會轉(zhuǎn)成雙引號。 JS...