python3 pickle模块
import pickle
"""将对象转化为硬盘能识别的bytes的过程被称为序列号。pickle可以把任意python类型的数据转化为字节"""
print(pickle.dumps("中"))
print(type(pickle.dumps("中")))
print(pickle.dumps([4, 2, 1]))
print(type(pickle.dumps([4, 2, 1])))
b'\x80\x03X\x03\x00\x00\x00\xe4\xb8\xadq\x00.'
<class 'bytes'>
b'\x80\x03]q\x00(K\x04K\x02K\x01e.'
<class 'bytes'>
import pickle """将bytes转化为python对象的过程被称为反序列化"""
print(pickle.loads(b'\x80\x03X\x03\x00\x00\x00\xe4\xb8\xadq\x00.'))
print(type(pickle.loads(b'\x80\x03X\x03\x00\x00\x00\xe4\xb8\xadq\x00.'))) print(pickle.loads(b'\x80\x03]q\x00(K\x04K\x02K\x01e.'))
print(type(pickle.loads(b'\x80\x03]q\x00(K\x04K\x02K\x01e.')))
中
<class 'str'>
[4, 2, 1]
<class 'list'>
import pickle print(pickle.dumps([4, 2, 1])) # 序列化
print(pickle.loads(b'\x80\x03]q\x00(K\x04K\x02K\x01e.')) # 反序列化
b'\x80\x03]q\x00(K\x04K\x02K\x01e.'
[4, 2, 1]
import pickle """将序列化后的bytes写入文件"""
pickle.dump("中", open("str2.dat", "wb"))
pickle.dump([4, 2, 1], open("lst.dat", "wb"))
import pickle """读取文件中的bytes"""
print(pickle.load(open("str2.dat", "rb")))
print(pickle.load(open("lst.dat", "rb")))
中
[4, 2, 1]
import pickle
pickle.dump([1, 2, 3], open("lst.bytes", "wb")) # 把任意类型的数据转化为字节,并保存到文件中
print(pickle.load(open("lst.bytes", "rb"))) # 从文件中读取字节数据,并转换为对应的python数据
[1, 2, 3]
"""只有字符串类型的转化为字节使用encode"""
print([4, 2, 1].encode("utf-8"))
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-134-f5e7d7f2d811> in <module>()
1 """只有字符串类型的转化为字节使用encode"""
----> 2 print([4, 2, 1].encode("utf-8")) AttributeError: 'list' object has no attribute 'encode'
import pickle """encode和pickle.dumps的对字符串进行转字节结果是不一样的。"""
print(pickle.dumps("中"))
print("中".encode("utf-8"))
b'\x80\x03X\x03\x00\x00\x00\xe4\xb8\xadq\x00.'
b'\xe4\xb8\xad'
python3 pickle模块的更多相关文章
- Python3 pickle模块用法
pickle(python3.x)和cPickle(python2.x的模块)相当于java的序列化和反序列化操作. 常采用下面的方式使用: import pickle pickle.dump(obj ...
- pickle模块的使用python3
Python的pickle模块实现了基本的数据序列和反序列化.通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储:通过pickle模块的反序列化操作,我们能够从文件 ...
- Python3学习之路~5.7 Json & pickle 模块
用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps. ...
- [python标准库]Pickle模块
Pickle-------python对象序列化 本文主要阐述以下几点: 1.pickle模块简介 2.pickle模块提供的方法 3.注意事项 4.实例解析 1.pickle模块简介 The pic ...
- json&pickle模块
序列化:我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化 反序列化:把变量内容从序列化的对象重新读到内存中,这一过程称为反序列化 为什么要序列化? 1.持久保存状态 一个软件的执行就是在处 ...
- [python](windows)分布式进程问题:pickle模块不能序列化lambda函数
运行错误:_pickle.PicklingError: Can't pickle <function <lambda> at 0x000002BAAEF12F28>: attr ...
- 序列化模块— json模块,pickle模块,shelve模块
json模块 pickle模块 shelve模块 序列化——将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. # 序列化模块 # 数据类型转化成字符串的过程就是序列化 # 为了方便存储和网 ...
- python pickle模块的使用/将python数据对象序列化保存到文件中
# Python 使用pickle/cPickle模块进行数据的序列化 """Python序列化的概念很简单.内存里面有一个数据结构, 你希望将它保存下来,重用,或者发送 ...
- Python基础(12)_python模块之sys模块、logging模块、序列化json模块、pickle模块、shelve模块
5.sys模块 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 ...
随机推荐
- leetcode — best-time-to-buy-and-sell-stock-ii
/** * Source : https://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/ * * * * Say you ...
- 使用MaxCompute Java SDK 执行任务卡住了,怎么办?
场景一 用户AA: “亲,用 MaxCompute Java SDK 跑作业,为什么卡住不动了?”me: “有 Logview 吗?发来看下”A: “没有,我用的是SDK,没Logview” 场景二 ...
- springboot情操陶冶-web配置(三)
承接前文springboot情操陶冶-web配置(二),本文将在前文的基础上分析下mvc的相关应用 MVC简单例子 直接编写一个Controller层的代码,返回格式为json package com ...
- 利用BGP虚拟下一跳实现链路负载均衡
最近针对BGP链路负载均衡方案“虚拟下一跳”进行了总结,现将总结的PPT贴上来.
- Redux,基础
在学习了React之后, 紧跟着而来的就是Redux了~ 在系统性的学习一个东西的时候, 了解其背景.设计以及解决了什么问题都是非常必要的. 接下来记录的是, 我个人在学习Redux时的一些杂七杂八~ ...
- onload 和 domready
博客地址:https://ainyi.com/46 window.onload 事件会在页面或图像加载完成后触发(即所有元素的资源都下载完毕)如果页面上有许多图片.音乐或 falsh 还没加载完成,o ...
- 第39章 引用令牌 - Identity Server 4 中文文档(v1.0.0)
访问令牌有两种形式 - 自包含或引用. JWT令牌将是一个自包含的访问令牌 - 它是一个带有声明和过期的受保护数据结构.一旦API了解了密钥材料,它就可以验证自包含的令牌,而无需与发行者进行通信.这使 ...
- (5)Maven快速入门_5maven聚合与继承_scope依赖范围
多个maven项目实现统一管理, maven 插件jar继承自父的maven项目.对maven中jar的版本进行管理. 1.创建一个项目来管理多个maven项目 new ----maven Proje ...
- ssm基础搭建步骤
今天搭建新的项目环境,从网上找了些ssm的搭建步骤,终于找到了一位csdn的大佬,可以说写的特别详细,按照上面步骤搭建即可,为了方便日后参考,转载到本人博客,原文链接:https://blog.csd ...
- angular打包后路由和文件路径不对
base href换成如下script标签 <!-- <base href="/"> --> <script> document.write(' ...