手写一个pyc文件?

格鲁布斯

我正在尝试编写一个编译为pyc文件的编译器,但我确实在为pyc文件的实际内容以及其全部工作方式而苦苦挣扎。为了使格式更舒适,我想手写一个pyc文件,但是我找不到任何资源。我希望这里的某人可能有资源,或者能够告诉我我该怎么做。

谢谢你的帮助!

克里斯派索(Chrispresso)

简短的答案是你做不到。对于字节码的定义方式,尚无正式的规范。有一个PEP规范,但对于运行字节码的虚拟机则没有任何要求(据我所知)。您可以浏览代码以了解如何完成,也可以使用以下步骤对其中的部分进行逆向工程dis.dis

In [5]: def hello():
   ...:     print("hello")
   ...:

In [6]: dis.dis(hello)
  2           0 LOAD_GLOBAL              0 (print)
              2 LOAD_CONST               1 ('hello')
              4 CALL_FUNCTION            1
              6 POP_TOP
              8 LOAD_CONST               0 (None)
             10 RETURN_VALUE

但是这种类型的东西可以在版本之间变化。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章