python 字节码在不同版本之间的兼容程度如何。
我不是在谈论 python2.x 到 python3.x,而是说... Python33 到 python34?

我不是为了“安全”而追求它,我使用 Cython 将大部分程序转换为 C,但是我确实使用 pyc 文件作为存储一些常量的方法,而 pyc 更可取,因为它提供了一种不容易的文件格式非正式地改变了。如果有人想要更改某些内容,他们可以通过内部程序请求

这样的 pyc 文件只包含变量
stf python 中的整数、浮点数、列表、字典、字符串。
一个类,但它更像是一个容器/结构。

这是一个很大的问题还是尝试看看正在存储一些非常基本的python字节码数据

最佳答案

Python 不保证版本之间的字节码兼容性。不要依赖它。

事实上,一个 pyc 文件以一个魔数(Magic Number)开始,这个魔数(Magic Number)在每次编码代码执行时都会改变,python 会检查这个数字以确保兼容性。由于此代码几乎在每个版本中都会发生变化,因此魔数(Magic Number)也是如此。有关详细信息,请参阅 Ned Batchelder's blog entry

有更好的方法来确保您的文件没有被篡改:例如校验和。

关于python字节码兼容性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22449524/

10-16 04:21