0

我一直在使用一个名为 Mnemosyne 的闪存卡程序,它使用 python 脚本。不久前,我的电脑死机后,我的闪存卡数据库无法访问,我不得不手动关闭它。每当我尝试加载包含我的卡的数据库时,我都会收到此错误。

文件格式无效
Traceback(最里面的最后一个):
文件“mnemosyne\core\mnemosyne_core.pyc”,第 1012 行,在 load_database
BadPickleGet: 577"

帮助将不胜感激。

4

1 回答 1

1

(虽然 CLayton 的副本可能是二进制发行版,但 mnemosyne 的源代码是免费提供的。)

但这并没有多大帮助:第 1012 行只是:

db = cPickle.load(infile)

其中“infile”是存储的数据库文件。所以你的数据库文件中有一些损坏。(BadPickleGet 是 UnpicklingError 的特定子类,这是您在输入中断时所期望的。)

您可以更改 mnemosyne_core.py 以使用普通的 Python pickle 模块而不是 cPickle,从而允许您向 pickle.py 添加调试并准确计算出它不喜欢的文件中的内容。但老实说,如果文件由于硬件故障/硬断电而损坏,则内容可能会被截断、无法读取或完全是垃圾。

准备好再次经历那些早期的卡片......

于 2009-03-30T03:40:52.643 回答