python编程:如何使用python技术完成数据的Json和pickle的序列化

(此处已添加圈子卡片,请到今日头条客户端查看)

在文件中写入的时候,只能写入字符串,如果要想将一个字典写入文件中那么是不行的,此时可以使用序列化的方法,将我们想要写入的序列化的字符串,这样就可以将非字符串写入文件当中了

python编程:如何使用python技术完成数据的Json和pickle的序列化

python编程:如何使用python技术完成数据的Json和pickle的序列化

通过这个程序就将列表写入到了文件中,写入文件中的是字符串,所以我们从这个文件中读出来的也是字符串,此时可以使用下面的loads方法,再将其变成列表

python编程:如何使用python技术完成数据的Json和pickle的序列化

json序列化一些简单的东西是没有问题的,但是复杂的就不行了

python编程:如何使用python技术完成数据的Json和pickle的序列化

复杂的要是使用pickle来完成,json是所有语言通用的,而pickle是只有python语言才可以,但是它可以处理复杂的,如函数

python编程:如何使用python技术完成数据的Json和pickle的序列化

python编程:如何使用python技术完成数据的Json和pickle的序列化

f.write(pickle.dumps(fun))等于pickle.dumps(fun,f)

可以看出将复杂的函数序列化了,pickle序列化是以二进制方式进行序列化,所以应该以wb的方式来写入

读取:

python编程:如何使用python技术完成数据的Json和pickle的序列化

pickle.loads(f.read())读取出来为fun这个方法然后加上()就是运行了,运行的时候一定要保证当前的文件fun方法存在

pickle.loads(f.read())等于pickle.load(f)

总结对于一个文件虽然可以dump好多次,但是load只能一次,若是dump好多次,则再次load会出问题,所以最好的使用方式是对于一个文件dumps一次,loads一次

相关推荐