将Python字节码重新组合为原始代码?

时间:2010-01-23 18:32:21

标签: python bytecode bytecode-manipulation

这可能是一个愚蠢的问题,但是,考虑到输出,比如..

>>> from dis import dis
>>> def myfunc(x):
...     print x ** 2
... 
>>> dis(myfunc)
  2           0 LOAD_FAST                0 (x)
              3 LOAD_CONST               1 (2)
              6 BINARY_POWER        
              7 PRINT_ITEM          
              8 PRINT_NEWLINE       
              9 LOAD_CONST               0 (None)
             12 RETURN_VALUE        

..或.pyc文件 - 是否可以将其重组为有效的Python源代码?即reassemble(dis(myfunc)) == "def reassembled_function(x):\n print x ** 2"

不是出于任何特殊的实际原因,我只是好奇这是否可能,或者是否已经尝试过......

相关

1 个答案:

答案 0 :(得分:5)