首页 / PYTHON / Python之路--序列化
Python之路--序列化
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python之路--序列化,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1715字,纯文字阅读大概需要3分钟。
内容图文
![Python之路--序列化](/upload/InfoBanner/zyjiaocheng/843/249f233875804e5aaa2b2defaa66819d.jpg)
序列化的目的
1.以某种存储形式使自定义对象持久化 2.将对象从一个地方传递到另一个地方 3.使程序更具有维护性json
json多语言通用 四个功能:dumps、dump、loads、load#将对象转换字符串,存储到文件中(dump) import json dic = {1:2,3:4,5:6} f = open('a1.txt','w',encoding='utf-8') s = json.dump(dic,f) print(s) 运行结果: 文件中已填写的内容:{"1": 2, "3": 4, "5": 6}
#将文件的字符串转换成原格式输出(load) f = open('a1.txt','r',encoding='utf-8') s1 = json.load(f) print(type(s1),s1) 运行结果: <class 'dict'> {'1': 2, '3': 4, '5': 6}
将对象转换成字符串 import json lst = [1,2,3,4] s = json.dumps(lst) print(type(s),s) 运行结果: <class 'str'> [1, 2, 3, 4]
#将字符串转换成对象 lst = [1,2,3,4] s1 = json.loads(s) print(type(s1),s1) 运行结果: <class 'list'> [1, 2, 3, 4]
pickle
python独有的序列化#将对象转换为文件(内容是字节,看不懂的字节) import pickle f = open('a2.py','wb') dic = {1:2,3:4} s = pickle.dump(dic,f) print(s) 运行结果:文件已填写内容,但是是一串看不懂的字节
#将字节文件转换成对象 f1 = open('a2.py','rb') s1 = pickle.load(f1) print(s1) 运行结果:{1: 2, 3: 4}
#将对象转换成字节 import pickle dic = {1:2,3:4} s = pickle.dumps(dic) print(s) 运行结果:b'\x80\x03}q\x00(K\x01K\x02K\x03K\x04u.'
#将字节转换成对象 s1 = pickle.loads(s) print(s1) 运行结果: {1: 2, 3: 4}
shelve
shelve序列化,比之前讲的json和pickle都要简单,但是一般是用于自己在本地,若上线的话还需要json,但是它操作简单,比较方便 类似于字典的操作import shelve f = shelve.open('a2') #创建了3个文件,a2.bak(是备份),这三个文件的内容都不要有任何的修改 f['name'] = 'alex' #增加键值对 f['age'] = 18 print(f['name']) 打印结果:alex若要修改里面已有的内容,需要特别注意一下,有可能会修改不成功,需要在,open('a2',writeback = True)
##实现修改name的操作 import shelve f = shelve.open('a2',writeback=True) f['name'] = 'baoyuan' print(f['name'])
内容总结
以上是互联网集市为您收集整理的Python之路--序列化全部内容,希望文章能够帮你解决Python之路--序列化所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。