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解释程序的版本信息 ...
随机推荐
- Redis Windows 64位下安装Redis详细教程
Windows Redis 下载地址:点击打开链接https://github.com/MicrosoftArchive/redis/releases 点击打开链接 文件介绍 redis-benchm ...
- ASP.NET Core多环境配置文件问题
前言 在我们开发的过程中,往往会有这几个环境,Dev.QA.Pre和Pro. 当然不同的环境可能大家的叫法会有点不一样. 最常遇到的问题,或许就是不同环境的配置文件问题! 一个环境一个配置文件是很常见 ...
- .NetCore2.1 WebAPI 根据swagger.json自动生成客户端代码
前言 上一篇博客中我们可以得知通过Swagger插件可以很方便的提供给接口开发者在线调试,但是实际上Swagger附带的功能还有很多, 比如使用NSwag生成客户端调用代码,进一步解放接口开发者. N ...
- 【CSS】按钮的禁用与可用 CSS Cursor 属性
禁用时的样式 可用时的样式 样式很简单,禁用就设置为灰色,可用就设置为红色,今天这个不是重点,重点的是,光标的样子 一般,禁用时候,光标移动到按钮的上方,光标如下 而在启用按钮的时候,光标移动到按钮上 ...
- [PHP] curl访问https与CA证书问题
CA证书,用来在调用HTTPS资源的时候,验证对方网站是否是CA颁布的证书,而不是自己随便生成的 curl命令1.需要下载CA证书 文件地址是 http://curl.haxx.se/ca/cacer ...
- 开源负载测试工具k6比JMeter更容易的5件事
k6是GitHub上提供的开源负载测试工具.它是用Go编写的,并运行用JavaScript编写的测试脚本.它受到了开发人员,测试人员和DevOps团队的强烈兴趣,并拥有超过4400名GitHub明星. ...
- jquery实现ajax提交表单的方法总结
方法一: 分别获取所需数据元素,DOM结构外层不用包form标签(适用于数据量少,数据元素分散于整个页面) $.ajax({ type: 'POST', url:'', data: { residen ...
- es6的let,const
1.es6 新增的let const 命令 let用来定义一个局部变量,故名思意就是只在当前代码块可用 1.1 let 声明的变量不存在变量提升(var 声明的变量存在变量提升)且代码块内 暂时性死区 ...
- java-同步控制及不可变设置(只读访问)
1.还是直接上代码简单了解一下: package com.synchronize.test; import java.util.ArrayList; import java.util.Collecti ...
- 【AO笔记】Addins的Toolbar 添加一条分割线
在XAML中,给Item标签添加separator属性,需要从哪里打分割线,就将其设置为true即可.如下图所示: 如紫色框住的灰色竖线所示. 默认separator属性是false的,这个小东西极其 ...