关于pickle的问题

来源:2-7 如何实现用户的历史记录功能(最多n条)

MoleT

2017-01-21

import pickle

q=list(range(10))

pickle.dump(q,open('history','wb+'))

q2 = pickle.load(open('history'))

print(q2)


这里如果不加wb+权限会出现:

TypeError: write() argument must be str, not bytes

这里是pickle默认二进制方式存储

以wb+权限运行的话,出现

UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 0: illegal multibyte sequence

的错误。不知道为什么。。


写回答

2回答

程序员硕

2017-01-21

读的时候依然用b打开

0
0

盛年不再有

2017-12-22

# _*_ coding:utf-8 _*_

import pickle

q=list(range(10))

pickle.dump(q,open('history','wb+'))

q2 = pickle.load(open('history','rb'))

print(q2)


0
0

Python高效编程技巧实战

精选50个Python案例,源自实战,全面提升Python编程能力

2582 学习 · 360 问题

查看课程