1.读写压缩数据文件
使用 gzip 和 bz2 模块来读写压缩文件,不过需要注意文件的模式,默认格式为二进制。
1 # 读取压缩文件
2 import gzip
3 with gzip.open('somefile.gz', 'rt') as f:
4 text = f.read()
5
6 import bz2
7 with bz2.open('somefile.bz2', 'rt') as f:
8 text = f.read()
9
10 # 写入压缩数据
11 import gzip
12 with gzip.open('somefile.gz', 'wt') as f:
13 f.write(text)
14
15 import bz2
16 with bz2.open('somefile.bz2', 'wt') as f:
17 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)