今天早些时候,我asked a question介绍了Python处理某些循环的方式。其中一个答案包含我的示例的反汇编版本。
我想知道更多。如何反汇编我自己的Python代码?
答案 0 :(得分:12)
查看dis模块:
def myfunc(alist):
return len(alist)
>>> dis.dis(myfunc)
2 0 LOAD_GLOBAL 0 (len)
3 LOAD_FAST 0 (alist)
6 CALL_FUNCTION 1
9 RETURN_VALUE
答案 1 :(得分:2)
使用Python标准库中的dis
模块(import dis
,例如在交互式解释器中,然后dis.dis
使用您关心的任何函数! - 。
答案 2 :(得分:2)
除了使用dis
作为模块之外,您还可以将其作为命令行工具
例如,在Windows上可以运行:
c:\Python25\Lib\dis.py test.py
它会将反汇编的结果输出到控制台。