我是一名蟒蛇/编码新手的艺术家,也无法阅读此文档。 https://docs.python.org/2/library/inspect.html#
我试图了解如何使用inspect
模块。
该文件名为TestClassA.py:
import inspect
class TestClassA(object):
def __init__(self):
print "this is crazy!"
print inspect.isclass(TestClassA)
#result is True
我要做的是返回TestClassA
及其中的所有内容。基本概念是复制我的代码并将其作为消息弹出
print inspect.getsource(TestClassA)
结果是:
TypeError: <module '__main__' (built-in)> is a built-in class
但这很有趣。如果我使用:
print inspect.isclass(TestClassA)
结果为True。
所以我的最终目标是将特定类型的类复制到文本中(提醒:多个类可以在一个.py文件下)并将该特定类型的类带入另一个.py文件中。
任何人都可以帮助我吗?如果有人也可以使用上面相同的简单示例设置inspect.getsourcefile
和inspect.getsourcelines
的工作方式,我将非常感谢。
答案 0 :(得分:1)
import inspect
class TestClassA:
def __init__(self):
print "Hello"
print inspect.getsource(TestClassA)
在pycharm中为我工作,如果您尝试在交互模式下使用它,请运行此
import os
import inspect
inspect.getsource(os)
你提到的两种方法做同样的事情只有返回类型不同 查看https://docs.python.org/2/library/inspect.html#inspect.getsourcelines