【问题标题】:Unpickling error with MARK: how to solve it?MARK Unpickling 错误:如何解决?
【发布时间】:2019-05-27 06:40:52
【问题描述】:

我正在尝试将一个简单的列表从一个文件加载到另一个文件,但 python 在我运行它时会立即引发 _pickle.UnpicklingError: could not find MARK。代码真的很简单,按照课程告诉我的,我真的不明白。它是这样的:文件“donnees.py”有列表,“fonctions.py”有其余的。

donnees.py

listemots=["bonjour","pivers","cactus","france","taureau","espace"] 

函数.py

import pickle
import random

with open("donnees.py","rb") as donnees:

    unpickler1=pickle.Unpickler(donnees)

    listerecuperee=unpickler1.load()

print(listerecuperee)

引发的错误是:

Traceback (most recent call last):
  File "/Users/sebastienchabrol/Documents/Cours de python/pendu/fonctions.py", line 6, in <module>
    listerecuperee=unpickler1.load()
_pickle.UnpicklingError: could not find MARK

有人知道如何解决这个问题吗?非常感谢!!

【问题讨论】:

  • 为什么不使用import 语句而不是pickle.py 文件中读取列表?有什么具体原因吗?
  • 我在课程中学会了用泡菜做...
  • 一般情况下,使用python文件是导入而不是作为文件读取。你的问题是,.py 不是泡菜。你正试图解开它。

标签: python function load pickle


【解决方案1】:

为此,只需使用:

from donnees import listemotes

不要使用 .py 文件来腌制变量。如果您想保留一个列表,请使用csv 模块。

【讨论】:

    猜你喜欢
    • 2018-09-08
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 2018-06-30
    • 2012-02-18
    • 2011-08-30
    • 2014-06-13
    • 2011-07-06
    相关资源
    最近更新 更多