您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python:如何从代码对象获取源代码?

Python:如何从代码对象获取源代码?

没有源代码,您只能近似代码。您可以使用模块 反汇编 已编译的字节码,然后将源代码重建为近似值:dis

>>> import dis
>>> TheString = "k=abs(x)+y"
>>> Binary = compile( TheString , "<string>" , "exec" )
>>> dis.dis(Binary)
  1           0 LOAD_NAME                0 (abs)
              3 LOAD_NAME                1 (x)
              6 CALL_FUNCTION            1
              9 LOAD_NAME                2 (y)
             12 BINARY_ADD          
             13 STORE_NAME               3 (k)
             16 LOAD_CONST               0 (None)
             19 RETURN_VALUE

从反汇编中,我们可以看到有1行,其中使用一个名为的abs()参数调用了名为的函数x。结果将添加到另一个名称y,并将结果存储在中k

像这样的项目uncompile6(建立在许多其他人的工作之上)就是这样做的;反编译python字节码并从中重建Python代码

python 2022/1/1 18:26:33 有225人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶