cwhsmile 发表于 2019-3-28 13:26:22

第31课后作业,使用pickle.load(file)读取文件报错_pickle.UnpicklingError: inval...

本帖最后由 cwhsmile 于 2019-3-28 13:28 编辑

如下代码,我已经使用二进制打开文件了,还是提示错误。
是我使用pickle的方法不对么亦或是别的原因?

import pickle
file = open('record.txt','rb')
pickle_read = pickle.load(file)
print(f'pickle方式读取{pickle_read}')
f.colse()


报错信息如下:
Traceback (most recent call last):
File "H:\Python\ceshi\ceshi.py", line 3, in <module>
    pickle_read = pickle.load(file)
_pickle.UnpicklingError: invalid load key, '\xd0'.

大佬们帮帮小弟{:5_109:}

wp231957 发表于 2019-3-28 13:39:56

你的py是2.x吧

cwhsmile 发表于 2019-3-28 13:42:54

wp231957 发表于 2019-3-28 13:39
你的py是2.x吧

用的3.7.2

wp231957 发表于 2019-3-28 13:46:14

哦原来 自带不用pip 安装

塔利班 发表于 2019-3-28 20:21:46

你得先是用pickle写的,才能读出来

cwhsmile 发表于 2019-3-28 21:13:51

本帖最后由 cwhsmile 于 2019-3-28 21:15 编辑

塔利班 发表于 2019-3-28 20:21
你得先是用pickle写的,才能读出来

pickle只能读取pickle写的东西,别的程序写的它读不出来?
还有这操作?

那如果这样,小甲鱼出的那道题目是不是就没有意义了?

塔利班 发表于 2019-3-28 21:21:41

cwhsmile 发表于 2019-3-28 21:13
pickle只能读取pickle写的东西,别的程序写的它读不出来?
还有这操作?



你觉得没意义就没意义了,反正甲鱼课程里也用的不多,你可以百度搜搜pickle的好处

cwhsmile 发表于 2019-3-28 21:26:12

塔利班 发表于 2019-3-28 21:21
你觉得没意义就没意义了,反正甲鱼课程里也用的不多,你可以百度搜搜pickle的好处

好的,我百度看看{:5_109:}

cwhsmile 发表于 2019-3-28 22:22:30

塔利班 发表于 2019-3-28 21:21
你觉得没意义就没意义了,反正甲鱼课程里也用的不多,你可以百度搜搜pickle的好处

哈哈,刚刚百度了,它和json都是一种序列化数据的手段。不同的是pickle是python内置的特定方法,别的语言没有,并且还是以二进制文件存取数据,而json不特定哪一种语言,它的存取方式是unicode并且多数情况是utf-8存储的。

bazinga0 发表于 2020-4-22 09:47:57

请问您的问题怎么解决的

cwhsmile 发表于 2020-5-3 07:50:26

bazinga0 发表于 2020-4-22 09:47
请问您的问题怎么解决的

你得先是用pickle写的,才能读出来

我当时的问题是我要读取的文件并不是用pickle写的,所以会报错。

要使用pickle读取文件,该文件必须是用pickle写的。
页: [1]
查看完整版本: 第31课后作业,使用pickle.load(file)读取文件报错_pickle.UnpicklingError: inval...