Crossin的编程教室

标题: 第65课 pickle 存储过程报错 [打印本页]

作者: szwfn    时间: 2018-10-10 11:57
标题: 第65课 pickle 存储过程报错
老师您好!

我试着照着课程自己做练习,代码如下:
import pickle


seq=[111.11,'best',"see-saw",False]

f=open('test.data','w')

pickle.dump(seq,f,True)

f.close()


报错如下:
Traceback (most recent call last):
  File "C:/Program Files (x86)/Python37-32/2018-10-10c.py", line 6, in <module>
    pickle.dump(seq,f,True)
TypeError: write() argument must be str, not bytes


请教下老师 是哪里出错了 谢谢!

作者: crossin先生    时间: 2018-10-10 15:25
py3的pickle,文件写入模式要改成 'wb'
作者: szwfn    时间: 2018-10-10 22:07
crossin先生 发表于 2018-10-10 15:25
py3的pickle,文件写入模式要改成 'wb'

谢谢~
作者: szwfn    时间: 2018-10-10 22:24
老师你好 接着上面的提问 我刚刚重新练习了一下 代码如下:
import pickle

test=['saved','Jump',True,11336699]

f=open('test.data','wb')

pickle.dump(test,f)

f.close()


f2=open('test.data')

pickle.load(f2)

f2.close()

print (f2)

执行获取数据时候报错:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Python37-32\2018-10-10h.py", line 11, in <module>
    pickle.load(f2)
UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 0: illegal multibyte sequence

请教一下是什么原因 如何解决啊
作者: crossin先生    时间: 2018-10-11 20:18
szwfn 发表于 2018-10-10 22:24
老师你好 接着上面的提问 我刚刚重新练习了一下 代码如下:
import pickle

读取也是一样的, 'rb'
作者: szwfn    时间: 2018-10-12 00:11
crossin先生 发表于 2018-10-11 20:18
读取也是一样的, 'rb'

收到 谢谢!
作者: amengguyi    时间: 2018-10-22 19:17
老师好,py3,wb写入,为什么会乱码?怎么修改呢?




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5