流畅的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& ...
随机推荐
- day04.4-装饰器
1. 装饰器 装饰器本身就是函数,功能是为其他函数添加附加功能 装饰器的设计原则: (a). 不修改被修饰函数的源代码: (b). 不修改被修改函数的调用方法. 装饰器=高阶函数+函数嵌套+闭包 装饰 ...
- How to mount a remote directory in Linux using sshfs
Q. I have access rights to one of the remote server through SSH protocol and there is no File share ...
- SSO单点登录入门
1,SSO简介 SSO(Single Sign-On,单点登录)是身份管理中的一部分.SSO 的一种较为通俗的定义是:SSO 是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过 ...
- ios 字符串处理:截取字符串、匹配字符串、分隔字符串
1.截取字符串 NSString*string =@"sdfsfsfsAdfsdf";string = [string substringToIndex:7];//截取掉下标7之后 ...
- 04day->python列表和元祖
一.列表 1.索引.切片 索引:根据索引值获取,里表里的值 切片:和字符串相似 2.增 1)append(object),在列表的末端添加 2)insert(index ...
- Python多继承解析顺序的C3线性算法流程解析
Python多继承MRO 在Python2.1中,采用了经典类,使用深度优先算法解析. Python2.2中,引入了新式类,使用深度优先算法和广度优先算法. 在Python2.3以后的版本中,经典类和 ...
- MySQL压缩版Windows环境进行安装配置
MySQL下载地址:https://dev.mysql.com/downloads/mysql/ 选择对应的系统和相应的版本后点击Download进入下载页面,不需要登录,点击下面的“No thank ...
- [Alpha]Scrum Meeting#4
github 本次会议项目由PM召开,时间为4月5日晚上10点30分 时长20分钟 任务表格 人员 昨日工作 下一步工作 木鬼 调整&分配工作 撰写博客目录 SiMrua 手工建立再训练数据( ...
- POJ_2155 Matrix 【二维树状数组】
一.题面 POJ2155 二.分析 楼教主出的题,是二维树状数组非常好的题,还结合了开关问题(开关变化的次数如果为偶数,状态不变,奇数状态相反). 题意就是给了一个二维的坐标平面,每个点初始值都是0, ...
- Quartz .net 一直运行失败
使用了新的: Quartz.NET 2.6.2 https://github.com/quartznet/quartznet/releases IScheduler scheduler = StdSc ...