? ? ? ? ? 今天的代碼折騰了好久还绘,出差中手機(jī)就是不方便吶铐望。昨天是對(duì)文件對(duì)象進(jìn)行只讀操作冈涧,今天開始對(duì)文件進(jìn)行寫入操作茂附。
? ? ? 導(dǎo)入了pickle模塊;定義了字典并定義一對(duì)鍵值對(duì)督弓;以只讀方式打開文件营曼,可以看見用了其他方式——with,并把要打開的文件作為f愚隧;載入文件對(duì)象f蒂阱;將字典內(nèi)容通過pickle模塊的dump方法寫入文件中;再打開文件狂塘,加載其內(nèi)容录煤。
? ? 運(yùn)行過程中,文件因該是被刪除了荞胡,代碼不能有效運(yùn)行妈踊,出現(xiàn)文件不存在的錯(cuò)誤。根據(jù)大大說的把代碼順序略作調(diào)整泪漂。
? ? ? 將寫入操作放在前面廊营,加載內(nèi)容的操作放在后。
? ? 輸出結(jié)果可以看到有兩句萝勤,一句是None字符串露筒;另一句是字典對(duì)應(yīng)的內(nèi)容。
1纵刘、文件名不存在的情況下邀窃,寫入操作仍然有效;運(yùn)行機(jī)制是:文件名不存在時(shí)假哎,python自動(dòng)建立一個(gè)文件并執(zhí)行寫入操作瞬捕;
2、pickle模塊是一個(gè)數(shù)據(jù)序列化和反序列化的永久存儲(chǔ)模塊舵抹;dump是將對(duì)象寫入文件中(代碼中是字典對(duì)象)肪虎;load是讀取文件內(nèi)容并且重構(gòu)為原來的對(duì)象;代碼中是重構(gòu)字典類型并打泳逵肌扇救;
3、pickle 模塊dump函數(shù)寫入操作時(shí)香嗓,返回給函數(shù)一個(gè)None字符串迅腔;
4、with關(guān)鍵字在不再需要訪問文件時(shí)將其關(guān)閉靠娱;提高了安全性沧烈,以防意外。