最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡單談?wù)凱ython中的json與pickle

 更新時間:2017年07月19日 09:21:21   投稿:jingxian  
下面小編就為大家?guī)硪黄唵握務(wù)凱ython中的json與pickle。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

這是用于序列化的兩個模塊:

• json: 用于字符串和python數(shù)據(jù)類型間進行轉(zhuǎn)換

• pickle: 用于python特有的類型和python的數(shù)據(jù)類型間進行轉(zhuǎn)換

Json 模塊提供了四個功能:dumps、dump、loads、load

pickle 模塊提供了四個功能:dumps、dump、loads、load

import pickle
data = {'k1':123, 'k2':888}
#dumps可以將數(shù)據(jù)類型轉(zhuǎn)換成只有python才認識的字符串
p_str = pickle.dumps(data)
print p_str


輸出結(jié)果:

(dp0
S'k2'
p1
I888
sS'k1'
p2
I123
s.

將數(shù)據(jù)轉(zhuǎn)換成只有Python認識的字符串,并寫入文件:

import pickle
data = {'k1':123, 'k2':888}
#打開文件,然后將data寫入
with open('data.pkl', 'wb') as f:
 pickle.dump(data, f)
#同樣讀取的時候也需要打開文件
with open('data.pkl', 'rb') as f:
 data_1 = pickle.load(f)
print data_1


結(jié)果:

{'k2': 888, 'k1': 123}

文件中顯示的內(nèi)容與上面一致

json的用法和pickle是一樣的

import json
data = {'k1':123, 'k2':888}
p_str = json.dumps(data)
print p_str, type(p_str)


結(jié)果:

{"k2": 123, "k1": 888} <type 'str'>

看起來好像是個字典,但要注意了,實際上這是個字符串,因為json只能是字符串格式,只是看起來像字典而已。

import json
data = {'k1':123, 'k2':123}
 
#打開文件,然后將data寫入
with open('data.pkl', 'w') as f:
 json.dump(data, f)
 
#同樣讀取的時候也需要打開文件
with open('data.pkl', 'r') as f:
 data_1 = json.load(f)
print(data_1, type(data_1))


結(jié)果:

({u'k2': 123, u'k1': 123}, <type 'dict'>)

能夠讀取出來,而且類型也是正確的。

那pickle和json有什么區(qū)別呢?

在上面兩段代碼中,pickle寫入和讀取文件時,用的是 ‘b'模式,而json沒有。

json是可以在不同語言之間交換數(shù)據(jù)的,而pickle只在python之間使用。

json只能序列化最基本的數(shù)據(jù)類型,而pickle可以序列化所有的數(shù)據(jù)類型,包括類,函數(shù)都可以序列化。

以上這篇簡單談?wù)凱ython中的json與pickle就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

宜城市| 泉州市| 吴旗县| 阳曲县| 易门县| 荣昌县| 漾濞| 汉沽区| 林甸县| 新蔡县| 青铜峡市| 庆元县| 株洲市| 尚志市| 锡林浩特市| 石狮市| 泸定县| 芜湖县| 平安县| 柯坪县| 乐至县| 图木舒克市| 绥化市| 瓮安县| 邯郸县| 扬中市| 静海县| 岳阳市| 盐津县| 略阳县| 海淀区| 哈密市| 内乡县| 扎鲁特旗| 亳州市| 云龙县| 亚东县| 纳雍县| 大渡口区| 怀集县| 七台河市|