序列化:转向一个字符串数据类型

序列     ————  字符串

序列化和反序列化的概念:

序列化三种方法:json  pickle  shelve

json模块:json模块提供了四个方法dumps和loads、dump和load

json  dumps序列化方法(将其他数据类型转化成字符串类型)  loads反序列化方法

dumps和loads直接操作内存中的数据类型

json  loads反序列化方法(将字符串类型转回原来的类型)

json可以进行序列化的数据类型有:数字、字符串、列表、字典、元组

json  dump序列化方法(对文件进行操作)  load反序列化方法(对文件进行操作)

dump和load是往文件里面写和从文件中读,是一次性读完或一次性写完,如果文件中有多个字典就会报错

json  load反序列化方法(对文件进行操作)

解决中文dump序列化时往文件中写的是bytes类型的问题:

输出:

解决方法:

文件中多个字典的数据的读和写:

写:

读:

pickle模块:(只有Python可以使用)和json模块一样提供了四个方法dumps和loads、dump和load

picke的dumps和loads方法

picke的dump和load方法

对于pickle可以分步地dump和load,而对于json就不行了,json不直接支持

shelve模块:写时直接对文件句柄进行操作,取出数据时也只需要直接用key获取即可(自己从文件中也看不出来写了什么)    (和json、pickle都不一样)

总结:只有json在文件中的数据对我们来说是透明的,pickle和shelve在文件中的数据对我们来说是看不懂的

wirteback:

Python--day20--序列化模块的更多相关文章

  1. day20.序列化模块

    参考云游道士:https://www.cnblogs.com/yyds/p/6563608.html 1.什么是序列化 序列化就是将字典,数字等数据类型转换为字符串数据类型 所说的序列就是字符串 2. ...

  2. python之序列化模块、双下方法(dict call new del len eq hash)和单例模式

    摘要:__new__ __del__ __call__ __len__ __eq__ __hash__ import json 序列化模块 import pickle 序列化模块 补充: 现在我们都应 ...

  3. day20:序列化模块,模块的导入

    1,什么是序列化--将原本的字典,列表等内容转换成一个字符串的过程就叫做序列化,字符串是有顺序的,序列化转向一个字符串的过程,我们平时说的序列,指的就是字符串. 2,为何要序列化?本来字符串是可以强转 ...

  4. python中序列化模块json和pickle

    json模块:json是第三方包,不是系统内置模块,以字符串序列 常用操作有: json.dumps() # 将变量序列化,即将功能性字符转化为字符串 例: >>> import j ...

  5. python的序列化模块

    最近机器学习的模型需要序列化和反序列化,因为写个博客总结一下几个模型和数据等序列化的模块.

  6. 4-20模块 序列化模块 hashlib模块

    1,模块,py文件就是模块,py之所以好用就是模块多. 2,模块的分类: 1,内置模块,python 安装时自带的模块 2,扩展模块,别人写好的,需要安装之后,可以直接使用.itchat微信模块, b ...

  7. python基础之模块二

    六 logging模块 6.1 函数式简单配置 import logging #导入模块 logging.debug('debug message') #调试消息 logging.debug('inf ...

  8. Python之常用模块(re,时间,random,os,sys,序列化模块)(Day20)

    一.时间模块 #常用方法 1.time.sleep(secs) (线程)推迟指定的时间运行.单位为秒. 2.time.time() 获取当前时间戳 在Python中表示时间的三种方式:时间戳,元组(s ...

  9. python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)

    1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...

  10. #python基础学习模块:marshal 对象的序列化

    #标准库地址:https://docs.python.org/2/library/marshal.html"""有时候,要把内存中一个对象持久化保存磁盘或者序列化二进制流 ...

随机推荐

  1. Django与HTML业务基本结合--基本的用户名密码提交方法1

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 隐马尔可夫模型及Viterbi算法

    隐马尔可夫模型(HMM,hidden Markov model)是可用于标注问题的统计学模型,描述由隐藏的马尔可夫链随机生成观测序列的过程,属于生成模型.HMM模型主要用于语音识别,自然语言处理,生物 ...

  3. PHP--y2k38的解决方法已经时间格式的常用转换

    y2k38又名千年虫问题,又称Uinx Millennium Bug,此漏洞将会影响到所有32位系统下用Unix时间戳整数来记录时间的PHP,及其它编程语言. 一个整型的变量所能保存的最大时间为203 ...

  4. CB Insights,201608月174家独角兽榜单出炉,上榜的33家中国公司都是谁?

    全球最新独角兽榜单出炉,上榜的33家中国公司都是谁? Monica  2016-09-15   近日,美国市场调研公司CB Insights发布了全球独角兽榜单(估值10亿美元以上),共有来自21个国 ...

  5. jquery 设置 html标签响应式布局

    function sWidth() {//计算当前设备宽度 var widthSize; if ($(window).width() <= 640) { widthSize = $(window ...

  6. iOS常量(const)、enum以及宏(#define)

    http://www.cocoachina.com/ios/20160530/16483.html 本文投稿文章,作者:SuperMario_Nil(简书) 前言:本文主要梳理iOS中如何使用常量.e ...

  7. 2018-12-27-WPF-从文件创建图片的方法

    title author date CreateTime categories WPF 从文件创建图片的方法 lindexi 2018-12-27 11:37:46 +0800 2018-12-27 ...

  8. JSP Web第四章整理复习 JSP技术基础

    P104 JSP简介 (1)基本概念:jsp技术.jsp.jsp网页组成 JSP技术基础java servlet和整个java体系的Web服务器端开发技术. JSP表示它是用java写的Web服务页面 ...

  9. Leetcode860.Lemonade Change柠檬水找零

    在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 5 美元.10 美元或 20 美元.你必须给 ...

  10. LeetCode --- Validate Binary Search Tree

    题目链接 判断一颗二叉树是否是二叉搜索树(二叉排序树),也就是BST 如果该二叉树是BST, 那么对其中序遍历,所得序列一定是单调递增的(不考虑有重复数值的情况) 附上代码: /** * Defini ...