2017-07-27 126 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'