Python:字面意思是“打印”一个函数

时间:2013-12-11 03:34:44

标签: python file function printing export

由于我不打算进入的原因,我需要一些方法来逐字打印函数。

我知道当你在函数对象上运行print时会出现一些复杂的< 010101045函数>输出。所以对我的理解也许唯一的方法是运行某种python记事本模块。然后我可以设计一个算法来写一行文本来匹配每个功能行,以便得到一个打印的功能。

如果有人知道其他方法可以达到这个目的,请告诉我,因为我确信这样做是非常复杂的。但是,如果这是唯一的方法,如果有人能够指导我完成这样做的基本步骤,那也将非常感激。

我还想到,能够将打印函数的语法保存为python格式会很有趣,这样我就可以直接将它直接导入程序中。是的,我意识到这变得非常复杂,但是,如果有人知道如何做到这一点,那么一般来说会非常酷。

如果有人已经将上述过程自动化到程序可以从导入程序的内部修改导入的模块,那么现在真的很酷。

(理想情况下,修改后的版本会以不同的名称保存并导入以及之前的版本,并在执行导入的程序中的那一点处理)

我想在这一点上我只是对从python程序中导入,保存和修改文件的基本命令感到好奇。

非常感谢所有见解,

谢谢,

PS:如果你想知道为什么我要做所有这些,那很明显,如果不是,需要一段时间来解释。

1 个答案:

答案 0 :(得分:2)

使用inspect.getsource

def a():
    pass

import inspect
print inspect.getsource(a)

当然,这只有在您有权访问原始来源时才有效。

如果您没有原始资源,您可以获得的最多是字节代码(请参阅dis.dis)。

编辑:Python交互式shell是inspect无权访问源的示例。