检查python的模块

时间:2016-05-18 00:07:14

标签: python inspect

我是一名蟒蛇/编码新手的艺术家,也无法阅读此文档。 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.getsourcefileinspect.getsourcelines的工作方式,我将非常感谢。

1 个答案:

答案 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