Python-什么是错误的幻数错误?

Python-什么是错误的幻数错误?,第1张

Python-什么是错误的幻数错误?

幻数来自UNIX类型的系统,其中文件的前几个字节包含一个指示文件类型的标记。

Python

pyc
在创建文件时会将类似的标记放入其文件中。

然后,python解释器会在加载时确保此数字正确。

任何损坏此幻数的东西都会引起你的问题。这包括编辑

pyc
文件或尝试
pyc
从解释器以外的其他版本的python(通常更高版本)运行。

如果它们是你的

pyc
文件,只需删除它们,然后让解释器重新编译py文件。在UNIX类型的系统上,这可能很简单:

rm *.pyc

要么:

find . -name '*.pyc' -delete

如果它们不是你的py文件,则必须获取文件以进行重新编译,或者必须具有可以pyc使用该特定魔术值运行文件的解释器。

一件事可能导致间歇性。该pyc是造成该问题可能只在一定条件下进口。有时不太可能导入。导入失败时,你应该检查实际的完整堆栈跟踪吗?

顺便说一句,我所有

2.5.1(r251:54863) pyc
文件的第一个单词是
62131,2.6.1(r261:67517)
62161
。完整的幻数列表可在中找到
Python/import.c
,为完整起见,请在此处复制(截至发布答案时为最新,此后可能已更改):

1.5:   201211.5.1: 201211.5.2: 201211.6:   504282.0:   508232.0.1: 508232.1:   602022.1.1: 602022.1.2: 602022.2:   607172.3a0: 620112.3a0: 620212.3a0: 620112.4a0: 620412.4a3: 620512.4b1: 620612.5a0: 620712.5a0: 620812.5a0: 620912.5a0: 620922.5b3: 621012.5b3: 621112.5c1: 621212.5c2: 621312.6a0: 621512.6a1: 621612.7a0: 62171


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5640930.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存