如何获取python打印函数的源代码?

2024-09-27 22:08:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用inspect获取python打印的源代码,但它正在抛出错误。有人能告诉我如何得到python2.7打印语句的源代码吗。

inspect.getsourcefile(print)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-85-6158f5314751> in <module>()
----> 1 inspect.getsourcefile(print)

/usr/lib/python3.4/inspect.py in getsourcefile(object)
    569     Return None if no way can be identified to get the source.
    570     """
--> 571     filename = getfile(object)
    572     all_bytecode_suffixes = importlib.machinery.DEBUG_BYTECODE_SUFFIXES[:]
    573     all_bytecode_suffixes += importlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES[:]

/usr/lib/python3.4/inspect.py in getfile(object)
    534         return object.co_filename
    535     raise TypeError('{!r} is not a module, class, method, '
--> 536                     'function, traceback, frame, or code object'.format(object))
    537 
    538 ModuleInfo = namedtuple('ModuleInfo', 'name suffix mode module_type')

TypeError: <built-in function print> is not a module, class, method, function, traceback, frame, or code object

In [86]: inspect.getsourcefile(builtin.print)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-86-2d1fb60aac58> in <module>()
----> 1 inspect.getsourcefile(builtin.print)

NameError: name 'builtin' is not defined

Tags: inmostobject源代码isnotfunctionmodule

热门问题