您的位置:首页 > 编程语言 > Python开发

python学习笔记--json&&pickle

2017-11-12 18:49 579 查看
json支持简单数据格式的转换,适用与多种语言之间的转换,此后必将替换xml。

import json
msg = {"lilei":"boy","wangfang":"girl"}
fw = open("test.txt",'w')
fw.write(json.dumps(msg))  # json.dump(msg,fw)
#存入文本的格式就是{"lilei": "boy", "wangfang": "girl"}
#如果直接写fw.write(str(msg)),那么格式就是{'lilei': 'boy', 'wangfang': 'girl'},所以这样就不能loads出来,其实差别就是这个单双引号,只要把单引号变成双引号就可以,这样就能loads出来了
fw.close()


import json

fr = open("test.txt",'r')
data = json.loads(fr.read()) #json.load(f)
print(data["lilei"])

---------------
boy


pickle是python的序列转换,存贮是以二进制进行存储的,可以转换复杂的类型,如函数,当然,你在反序列化话的模块中也需要写入带有相应函数名的函数。

import pickle

def fun(age):
print("I am %s years old" % age)

msg = {"lilei":"boy","wangfang":"girl",'test':fun}
fw = open("test.txt",'wb')
pickle.dump(msg,fw) # fw.write(pickle.dumps(msg))
fw.close()


这里写代码片import pickle
def fun(age):
print("I am %s years old" % age)
print("I am %s years old" % age)

fr = open("test.txt",'rb')
data = pickle.loads(fr.read())
data['test'](12)
fr.close()

-----------------------
I am 12 years old
I am 12 years old
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python json