• json.dumps() 用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数。
  • json.dump() 用于将dict类型的数据转成str,并写入到json文件中。下面两种方法都可以将数据写入json文件。
  • json.loads() 用于将str类型的数据转成dict。
  • json.load() 用于从json文件中读取数据。
  • Base64编码是一种“防君子不防小人”的编码方式,优点:速度快,ascii字符,肉眼不可理解。
  • base64.b64encode() 将bytes类型数据进行base64编码(变为字母加数字),返回编码后的bytes类型。
  • base64.b64decode() 将base64编码的bytes类型进行解码,返回解码后的bytes类型。
import base64
import pickle # 字典
dict1 = {
'count': "count",
'selected': True
} def main():
# 转成bytes string
dict2 = pickle.dumps(dict1)
print('dumps:', dict2) # base64 编码
encode_str = base64.b64encode(dict2) print('b64encode:', encode_str)
print('b64后使用decode:', encode_str.decode())
print('b64后使用encode:', encode_str.decode().encode()) decode_str = base64.b64decode(encode_str)
loads_dict = pickle.loads(decode_str)
print('b64后使用b64decode():', decode_str)
print('b64后使用loads:', loads_dict) if __name__ == '__main__':
main()

  

pickle 的用法类似于json
  

import json
import pickle dict1 = {
'count': "count",
'selected': True
} jsDumps = json.dumps(dict1)
pkDumps = pickle.dumps(dict1)
jsLoads = json.loads(jsDumps)
pkLoads = pickle.loads(pkDumps) print(dict1)
print(type(dict1)) print(jsDumps)
print(type(jsDumps)) print(pkDumps)
print(type(pkDumps)) print(jsLoads)
print(type(jsLoads)) print(pkLoads)
print(type(pkLoads))

pickle 只能在python中用python文件间序列化,实现了两个python 内存数据的交互(可序列化任何对象(类,列表、字典等))

json 在任何软件间可以在内存数据之间的交互,只能序列化常规的对象(列表 ,字典等)

json、pickle和base64的更多相关文章

  1. Pythoy 数据类型序列化——json&pickle 模块

    Pythoy 数据类型序列化--json&pickle 模块 TOC 什么是序列化/反序列化 pickle 模块 json 模块 对比json和pickle json.tool 命令行接口 什 ...

  2. json pickle time

    多层装饰器: 字符串格式化: 当字符串格式化时 , %% 生成器 使用函数创造的 yield递归模块PY:模块其他:类库 先导入 后使用 自定义模块内置模块第三方模块为什么要有模块 将代码归类模块的内 ...

  3. python序列化: json & pickle & shelve 模块

    一.json & pickle & shelve 模块 json,用于字符串 和 python数据类型间进行转换pickle,用于python特有的类型 和 python的数据类型间进 ...

  4. python模块概况,json/pickle,time/datetime,logging

    参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html http://www.cnblogs.com/alex3714/articles/51 ...

  5. Python自动化 【第四篇】:Python基础-装饰器 生成器 迭代器 Json & pickle

    目录: 装饰器 生成器 迭代器 Json & pickle 数据序列化 软件目录结构规范 1. Python装饰器 装饰器:本质是函数,(功能是装饰其它函数)就是为其他函数添加附加功能 原则: ...

  6. python学习之路-day4-装饰器&json&pickle

    本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 一.生成器 1.列表生成式 >>> L = [x * x for x in range(10 ...

  7. 0816 1459 json & pickle ,目录导入,目录规范

    ---恢复内容开始--- 1.json & pickle 磁盘上只能存储字符串或二进制数据,直接存字典.列表.元组等是存不了的,所以需要把各种数据转换成字符串格式,然后再存到硬盘. 直接将一个 ...

  8. Python-Day4 Python基础进阶之生成器/迭代器/装饰器/Json & pickle 数据序列化

    一.生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面 ...

  9. Python学习笔记——基础篇【第六周】——json & pickle & shelve & xml处理模块

    json & pickle 模块(序列化) json和pickle都是序列化内存数据到文件 json和pickle的区别是: json是所有语言通用的,但是只能序列化最基本的数据类型(字符串. ...

  10. python基础6之迭代器&生成器、json&pickle数据序列化

    内容概要: 一.生成器 二.迭代器 三.json&pickle数据序列化 一.生成器generator 在学习生成器之前我们先了解下列表生成式,现在生产一个这样的列表[0,2,4,6,8,10 ...

随机推荐

  1. 剑指offer---1、顺时针打印矩阵

    剑指offer---1.顺时针打印矩阵 一.总结 一句话总结: 谋而后动+多做:还是要谋而后动,但是怎么谋而后动,很有学问,做好的方式就是多做 问题就这些问题:解决了就好了,比如php多维数组 面试的 ...

  2. golang 读取 ini配置信息

      package main //BY: 29295842@qq.com//这个有一定问题   如果配置信息里有中文就不行//[Server] ;MYSQL配置//Server=localhost   ...

  3. Quartz特点

    运行环境 Quartz 可以运行嵌入在另一个独立式应用程序 Quartz 可以在应用程序服务器(或servlet容器)内被实例化,并且参与XA事务 Quartz 可以作为一个独立的程序运行(其自己的J ...

  4. VSCode 中文乱码

    方式一 vscode 菜单栏:  文件 >> 首选项 >> 设置 搜索: "files.autoGuessEncoding": false, 改为: &qu ...

  5. <随便写>软件设计遵循的基本原则

    1.高内聚,低耦合 所谓高内聚,是指一个软件模块内各个元素彼此结合的紧密程度要高,即一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则. 所谓低耦合,是指一个软件系统内不同 ...

  6. etc/profile /etc/bashrc ~/.bash_profile ~/.bashrc等配置文件区别

    什么是交互式shell和非交互式shell,什么是login shell 和non-login shell. 交互式模式:就是shell等待你的输入,并且执行你提交的命令.这种模式被称作交互式是因为s ...

  7. notepad++ remove duplicate

    step1 to sort and remove space. Since Notepad++ Version 6 you can use this regex in the search and r ...

  8. 笔记41 Spring Web Flow——Demo

    订购披萨的应用整体比较比较复杂,现拿出其中一个简化版的流程:即用户访问首页,然后输入电话号(假定未注册)后跳转到注册页面,注册完成后跳转到配送区域检查页面,最后再跳转回首页.通过这个简单的Demo用来 ...

  9. 关于ajax请求status 200 却进入error 回调函数或显示跨域问题的解决方案及原因

    这虽然不是前端的问题吧,但如果遇到那种不靠谱的后台 还是可以拿来打脸的 转:https://segmentfault.com/a/1190000012469713

  10. HIVE的安装步骤及遇到的问题及解决方法

    一.root 用户 解压安装包 二 chown -R hadoop:hadoop apache-hive-1.2.2-bin/          chmod -R 755  apache-hive-1 ...