1)内置模块
python安装的时候自带的。
2)扩展模块
3)自定义模块
自己写的模块之类
序列化的目的
python 中的序列化模块有以下三种:
json 所有的编程语言都通用的序列化格式(使用广)但它支持的数据类型非常有限(支持窄)
支持的数据类型:数字,字符串,序列(列表,元祖),字典。
pickle 只能在python语言的程序之间传递数据用(使用窄)但pickle支持python中所有的数据类型(支持广)
shelve python3.x 之后才有。
JSON(JavaScript Object Notation)
是一种轻量级的数据交换格式。
它基于ECMAScript的一个子集。
JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯
(包括C、C++、Java、JavaScript、Perl、Python等)。
这些特性使JSON成为理想的数据交换语言。
易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。
json序列化模块
小结:
dump序列化,load反序列化:主要用于一个数据直接存在文本里—直接和文件打交道。
json中不支持除了str数据类型之外的key,对元祖也不支持,会将元祖看成列表去操作。
小技巧:
如何让json显示得更好看(更像一个json)
关于序列化中多次读写的这种操作:
json在多次dump(不隔行写入多个元素)的时候,不能对应执行多次load来取出数据,而pickle可以。
json如果要写入多个元素,可以先将元素dumps序列化,f.write(序列化+’ ’)写入文件。
读出元素的时候,应该先按行读文件,在使用loads将读出来的字符串转换成对应的数据类型。
python序列化模块-shelve模块详解
shelve:vt. 将(书等)放置在架子上;搁置,将某事放到一旁不予考虑;将…搁在一边;装搁架于;
shelve.py中的open方法代码如下:
例:
writeback方式有优点也有缺点。
应用场景例子:
到此这篇nonetype对象没有属性mode(python对象没有这个属性)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/pythonbc/77374.html