• 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. TCP/IP报文格式

    1.TCP首部格式 1.1 格式各字段含义 源端口号( 16 位):它(连同源主机 IP 地址)标识源主机的一个应用进程. 目的端口号( 16 位):它(连同目的主机 IP 地址)标识目的主机的一个应 ...

  2. 18、webservice使用

    1.将axis2.war文件拷到tomcat,webapp文件夹下,然后重启tomcat 访问

  3. Java获取CPU占用率

    原文链接:https://www.jianshu.com/p/015cc4805e29 最近做一个Java性能统计的问题,需要统计当前进程占用CPU的情况,最开始使用Java MxBean来获取 Op ...

  4. 2、什么是session?

    session 什么是Session?Session什么时候产生?    Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及配置信息.这 ...

  5. java连连看小项目

    /* *本人也是刚入门,希望各位多多指教 *该项目主要代码在于连线 *1.2个连线没有拐弯 *2.2个连线有一个拐弯 *3.2个连线有2个拐弯 *采用递归算法 */ package llk; impo ...

  6. 专题:『systemd』

    [COMMAND] Systemd Daemons: systemd networkd journald logind "user session" Systemd units: ...

  7. Feign 系列(02)Why Feign

    Feign 系列(02)Why Feign [toc] 1. 什么是 Feign Feign 的英文表意为"假装,伪装,变形", 是一个 Http 请求调用的轻量级框架,可以以 J ...

  8. 22-1-sort

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

  9. linux磁盘分区、挂载、查看

    实战: 34    查看本机所有磁盘                 fdisk -l 35    查看磁盘挂载情况                lsblk -f 36            39: ...

  10. vscode centos

    https://www.cnblogs.com/My-Jinse/articles/8400137.html rpm -ql 包名 缺少libXss.so.1()(64bit) yum install ...