Python pickle.load()带有填充的txt文件的EOFerror

Python pickle.load()带有填充的txt文件的EOFerror,python,pickle,eoferror,Python,Pickle,Eoferror,我的程序中有一小段代码,可以从文本文件导入dict 它给了我以下错误: Traceback (most recent call last): File "C:\Users\S.Latil\Desktop\Python\HomeWork Full\HomeWork\test.py", line 3, in <module> Lesson = pickle.load(Li) EOFError 在文件LessonOut.txt中,我有以下字符串: €}q X helloq

我的程序中有一小段代码,可以从文本文件导入dict
它给了我以下错误:

Traceback (most recent call last):
  File "C:\Users\S.Latil\Desktop\Python\HomeWork Full\HomeWork\test.py", line 3, in <module>
    Lesson = pickle.load(Li)
EOFError
在文件LessonOut.txt中,我有以下字符串:

€}q X   helloqX   worldqs.
我不明白为什么它会给我这个错误,我还没有看到其他线程中的修复程序。
它应该打印的是{'hello','world'}

如果有人能解释为什么会发生此错误以及如何修复它,那就太好了

事实上,我发现这个错误与问题有关,它非常简单。
发生的事情是,我复制并粘贴了pickle输出文件的内容到我的txt中,因为pickle不使用ascii字符,所以没有正确复制。我所做的只是把这条口述重复到文件上,它就成功了。

希望这对其他人有所帮助。

我想您无法提供将该字符串写入LessonOut.txt的代码?我试着复制粘贴它,但它告诉我“不受支持的pickle协议”,所以我认为在翻译过程中丢失了一些东西。奇怪的是,现在它工作了,尽管我什么也没做更改。。。感谢您的时间,我将在几分钟内删除此线程您确定'LessonOut.txt'中的内容是由pickle.dump生成的(obj,file,protocol=None)?尝试使用不同的协议转储,并查看结果文件。
€}q X   helloqX   worldqs.