流畅的python和cookbook学习笔记(七)
1.读写压缩数据文件
使用 gzip 和 bz2 模块来读写压缩文件,不过需要注意文件的模式,默认格式为二进制。
# 读取压缩文件
import gzip
with gzip.open('somefile.gz', 'rt') as f:
text = f.read() import bz2
with bz2.open('somefile.bz2', 'rt') as f:
text = f.read() # 写入压缩数据
import gzip
with gzip.open('somefile.gz', 'wt') as f:
f.write(text) import bz2
with bz2.open('somefile.bz2', 'wt') as f:
f.write(text)
2.序列化Python对象
使用 pickle 模块来序列化数据。
1.转存数据
>>> import pickle
>>> data = 'I love python'
>>> f = open('somefile', 'wb')
>>> pickle.dump(data, f) # 注意一个是dump,一个是dumps
>>> s = pickle.dumps(data)
2.从字节流中从新创建对象,使用 pickle.load() 或 pickle.loads() 函数
>>> f = open('somefile', 'b')
>>> data = pickle.load(f)
>>> data = pickle.loads(f)
流畅的python和cookbook学习笔记(七)的更多相关文章
- 流畅的python和cookbook学习笔记(五)
1.随机选择 python中生成随机数使用random模块. 1.从序列中随机挑选元素,使用random.choice() >>> import random >>> ...
- 流畅的python和cookbook学习笔记(九)
1.减少可调用对象的参数个数,使用functools.partial冻结参数 使用functools.partial(),可以固定一个或者多个值,减少调用参数. >>> def sp ...
- 流畅的python和cookbook学习笔记(八)
1.函数的默认参数必须不可变 如果函数的默认参数为可变的对象,那么默认参数在函数外被修改也会影响到函数本身的. >>> def spam(a, b=None): # b要为不可变参数 ...
- 流畅的python和cookbook学习笔记(六)
1.同时迭代多个序列(zip(函数)) 使用zip()函数可以同时迭代多个序列. >>> X = [1, 2, 3, 4, 5, 6] >>> Y = [121, ...
- 流畅的python和cookbook学习笔记(四)
1.数字的四舍五入 对于简单的舍入运算,使用内置的 round(value, ndigits) 函数即可. round 函数返回离它最近的偶数.也就是说,对 1.5 或者 2.5 的舍入运算都会得到 ...
- 流畅的python和cookbook学习笔记(三)
1.双向队列 collections.deque 类(双向队列)是一个线程安全.可以快速从两端添加或者删除元素的数据类型. rotate和popleft操作,rorate可以把前后元素换位.pople ...
- 流畅的python和cookbook学习笔记(二)
1.元组拆包和解压序列赋值 任何的序列 (或者是可迭代对象) 可以通过一个简单的赋值语句解压并赋值给多个 变量.唯一的前提就是变量的数量必须跟序列元素的数量是一样的. 1.平行赋值: >> ...
- 流畅的python和cookbook学习笔记(一)
1.数据结构 1.1 内置序列类型 四种序列类型: 1.容器序列:list.tuple和collections.deque 2.扁平序列:str.bytes.bytearray.memoryview和 ...
- python3.4学习笔记(七) 学习网站博客推荐
python3.4学习笔记(七) 学习网站博客推荐 深入 Python 3http://sebug.net/paper/books/dive-into-python3/<深入 Python 3& ...
随机推荐
- 1.Java Spring MVC入门 安装
Spring 下载地址: 4.3.6.RELEASE/ 25-Jan-2017 14:05 - http://repo.spring.io/release/org/springframework/sp ...
- Python的并发编程
我们将一个正在运行的程序称为进程.每个进程都有它自己的系统状态,包含内存状态.打开文件列表.追踪指令执行情况的程序指针以及一个保存局部变量的调用栈.通常情况下,一个进程依照一个单序列控制流顺序执行,这 ...
- Flink学习笔记:Flink开发环境搭建
本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKhaz ...
- 吃奶酪 状压dp
题目描述 房间里放着n块奶酪.一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在(0,0)点处. 输入输出格式 输入格式: 第一行一个数n (n<=15) 接下来每行2个实数,表示第i块 ...
- 3.2、Factorization Machine实践
1.在上一篇博客中我们构建度为二的因子分解机模型,这篇博客对这个模型进行实践 下图为准备的数据集: 完整代码为: # -*- coding: UTF-8 -*- # date:2018/6/6 # U ...
- MySQL8,登陆root后修改root密码的正确方式
如题,·MySQL8以上的修改密码方式和5不一样 网上搜到的无用答案很多,这里记一下版本8的正确修改方式,也方便自己和他人 USE mysql; ALTER user 'root'@'%' IDENT ...
- Pycharm与github的秘密
GIT介绍 GIT文章请看老男孩教育-银角大王的博客: http://www.cnblogs.com/wupeiqi/articles/7295372.html Git 是一个开源的分布式版本控制软件 ...
- crontab例行性共作
一.单一工作调度 at [-mldv] TIME at -c 工作号码 -m:当at工作结束后,即是没有输出信息,以email通知用户该工作已完成 -l:at -l相当于atq,列出目前系统上所有的a ...
- 转-安装vncserver
怎样在 CentOS 7.0 上安装和配置 VNC 服务器 https://www.linuxidc.com/Linux/2015-04/116725.htm --安装完图形界面和图形管理工具之后,下 ...
- PIE SDK 距离分类和最大似然分类
1.算法功能简介 监督分类,也叫训练场地法.训练分类法,是遥感图像分类的一种,用被确认类别的样本像元去识别其他未知类别像元的过程.监督分类算法有平行算法.平行六面体法.最小距离法.最大似然法.马 ...