json和pickle

mac2022-06-30  12

json的序列化和反序列化:

什么是序列化:把对象从内存中变成可存储或传输的过程,称为序列化

关于json:json是一种轻量级的数据交换格式,用于实现不同语言之间的互相交互,目前只能支持简单的数据类型而不能支持函数、类等的交互

Json模块提供了四个功能:dumps、dump、loads、load

dumps与dump:

import json dic = { 'kevin':22, 'cat':23 } f=open("json_test1","w") data=json.dumps(dic) f.write(data) #这两句可以用json.dump(dic,f)代替 f.close()

 

loads和load:

import json f=open('json_test','r') data = json.loads(f.read())#相当于data=json.load(f) f.close() print(data['kevin'])

 

 

pickle:只支持python之间的数据转化,相对json来说可以支持更多的数据类型

pickle模块也提供了四个功能:dumps、dump、loads、load,但是要注意dump/dumps默认转换成二进制类型,存进文件时要以rb/wb模式打开

dumps与dump:

import pickle def foo(): print('ok') f=open('PICKLE_test','wb') data = pickle.dumps(foo) f.write(data)#相当于data=pickle.dump(foo,f) f.close()

 

loads和load:

import pickle def foo(): print('ok') f=open('PICKLE_test','rb') data=pickle.loads(f.read())#相当于data=pickle.load(f) data()注意:内存地址伴随着一个程序的结束会被释放出来,在另外的程序上是找不到这个内存的,如果要调用这个函数,必须在这个程序上同样定义一个相同的函数才行

 

转载于:https://www.cnblogs.com/xqr2018/p/8859204.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)