Python 字节码在不同版本之间的兼容程度。 我不是在谈论 python2.x 到 python3.x,而是说……Python33 到 python34?
我不是为了“安全”而追求它我使用 Cython 将程序的大部分转换为 C,但是我确实使用 pyc 文件作为存储一些常量的方式并且 pyc 是更可取的,因为它提供了一种文件格式'很容易被非正式地改变。如果有人想要更改,他们可以通过内部程序请求
这样的 pyc 文件只包含变量 stf python 中的 Int、float、list、dict、string。 一个类,但它更像是一个容器/结构。
这是一个很大的否定还是这是一个尝试,因为正在存储一些非常基本的 python 字节码数据
最佳答案
Python 不保证版本之间的字节码兼容性。不要依赖它。
事实上,一个 pyc 文件以一个魔数(Magic Number)开始,每次编码代码都会改变这个魔数(Magic Number),python 检查这个数字的兼容性。由于此代码在每个版本中几乎都会发生变化,因此魔数(Magic Number)也会发生变化。参见 Ned Batchelder's blog entry了解详情。
有更好的方法可以确保您的文件未被篡改:例如校验和。
关于python字节码兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22449524/