首页 > 代码库 > 序列化
序列化
模块 json & pickle
把str/int字典写入文件
f=open("user_acc.txt","w") info={ ‘alben‘:‘123‘, ‘nichole‘:‘321‘ } f.write(str(info))
读取字典文件:
按照常规读取方法编写脚本——
with open(‘user_acc.txt‘) as f: data=f.read() for I in data: print (i)
这时候,python是一个字符一个字符的读取的,读取的内容完全不是字典格式的。
原因:
因为存储在磁盘上的数据是str格式的,但是读取文件的时候是通过2进制的格式存放在内存中的。
序列化:
2进制到字符串
反序列化:
字符串到2进制
通过pickle实现序列化与反序列化——
把字典格式以二进制的格式写入文件:
通过pickle模块
import pickle f=open("user_acc.txt","wb") info={ ‘alben‘:‘123‘, ‘nichole‘:‘321‘ } f.write(pickle.dumps(info))
这时候user_acc.txt直接打开显示的不是人为直观理解的格式
读取该文件:
import pickle with open(‘user_acc.txt‘,‘rb‘)as file: data=pickle.loads(file.read()) print(data)
使用模块json:
直接黏贴代码——(有细微区别,json直接存str,所以写入的文件是人为可以直接理解的)
JSON 所有语言通用,pickle是Python独有的,并且pickle不仅仅可以序列化基本数据类型(dict,list,tuple),它支持更多数据格式,包括函数!
写入——
import json f=open("user_acc.txt","w") info={ ‘alben‘:‘123‘, ‘nichole‘:‘321‘ } f.write(json.dumps(info))
读取——
import json with open(‘user_acc.txt‘,‘r‘) as file: data=json.loads(file.read()) print(data)
序列化
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。