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解释程序的版本信息 ...
随机推荐
- Winform 程序打包及安装
前言 近期被公司外派到驻空调厂的项目组,支援一个TCP相关的程序对接.主要是做智能门禁系统,然后主要是统计出实时的进出人数. 我这边能作为服务端,门禁设备作为客户端,整个流程并不算复杂,根据协议来写, ...
- Python:Selenium 2:使用
创建一个浏览器对象 from selenium import webdriver browser = webdriver.Chrome() WebDriver在将控制权返回给测试脚本之前,会一直等待到 ...
- Python3+Selenium2完整的自动化测试实现之旅(六):Python单元测试模块Unittest运用
一.Unittest单元测试框架简介 Unitest是Python下的一个单元测试模块,是Python标准库模块之一,安装完Python后就可以直接import该模块,能在单元测试下编写具体的测试用例 ...
- Linux系统命令行整理
1.pwd 查看当前所在目录 2.cd / 跳往根目录 3.ls 查看当前目录所有子目录或文件 4.ls -l 列出当前目录详细信息 5.ls -lh h=human 人性化列出当前目录详细 ...
- [转]nodejs使用request发送http请求
本文转自:https://blog.csdn.net/dreamer2020/article/details/52074516/ 在nodejs的开发中,有时需要后台去调用其他服务器的接口,这个时候, ...
- [争什么! 掺在一起做撒尿牛丸啊! 笨蛋]ASP.NET Core 2.0 + EF6 + Linux +MySql混搭
好消息!特好消息!同时使用ASP.NET Core 2.0和.NET Framework类库还能运行在linux上的方法来啦! 是的,你没有看错!ASP.NET Core 2.0,.NET Frame ...
- Ubuntu 18.04 安装java8
step1: 添加ppa sudo add-apt-repository ppa:webupd8team/java sudo apt-get update step2: 安装oracle-java-i ...
- java8 Stream操作
Stream操作详解:https://www.ibm.com/developerworks/cn/java/j-lo-java8streamapi/#icomments
- Java 由浅入深GUI编程实战练习(一)
项目简介: 1.实现利用下拉菜单的方式选择发送快捷语句: 2.实现对留言信息内容的置顶处理以及至尾处理: 3.实现清屏处理或现实保留部分留言内容: 运行界面: 代码展示: import java.aw ...
- Java 重建二叉树 根据前序中序重建二叉树
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2, ...