2017-07-27 122 views
0

我想通过两种方式打开和加载pickle文件。但每次我收到错误。无法打开并加载python中的pickle文件3.6.1

请求你帮忙。

第一种方式:

enron_data = pickle.load(open("D:/New/ud120-projects/final_project/final_project_dataset.pkl", "r")) 

Error: Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: a bytes-like object is required, not 'str' 

方式二:

enron_data = pickle.load(open("D:/New/ud120-projects/final_project/final_project_dataset.pkl", "rb")) 

Error : Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
_pickle.UnpicklingError: the STRING opcode argument must be quoted 

请你,请帮助

+0

这可能与您的错误有关吗? https://github.com/udacity/ud120-projects/issues/46 –

+0

我的猜测是pickle文件是由不同版本的Python解释器编写的,导致这种兼容性问题。 –

+0

最初写入pickle文件时,你使用''wb“'模式吗? – jasonharper

回答

0

如果您使用的是Windows,你必须使用一个原始字符串和反斜杠是这样的:

r'D:\path\to\your\file'