pyc文件与解释器架构无关吗?

4 投票
1 回答
1695 浏览
提问于 2025-04-16 04:45

根据我做的测试,在相同版本的Python(相同的魔法数字)下,64位的解释器可以加载用32位版本的Python生成的pyc文件。我想反过来也可以。

但是这样做完全安全吗?会不会导致一些意想不到的情况发生?

1 个回答

2

pyc文件是以Python的marshal格式存储的。

http://daeken.com/python-marshal-format

看起来唯一的问题是编码的整数,当你在32位机器上读取pyc文件时,这些整数会自动降级为32位整数。

不过,pyc格式里面并不包含64位的地址或偏移量,所以同一个pyc文件在64位和32位的解释器上都能运行。

撰写回答