python获取模块下的所有类

想搞一个签到脚本,所有的签到都写在一个脚本里面,
每个签到平台是一个类,类里面都只有一个签到方法
大致如下

class A:
    def func(self):
        print("A 平台已签到")


class B:
    def func(self):
        print("B 平台已签到")


class C:
    def func(self):
        print("C 平台已签到")

要是一个一个的进行实例化,再去调用方法,会显得很繁琐

这里使用 inspect 模块来获取该文件下的所有类,
然后循环来自动创建实例调用

if __name__ == '__main__':
    import inspect
    import sys

    print(inspect.getmembers(sys.modules[__name__], inspect.isclass))
    for name, class_ in inspect.getmembers(sys.modules[__name__], inspect.isclass):
        class_().func()

运行结果也没啥问题

posted @ 2020-06-21 15:50  寒菱  阅读(5395)  评论(0编辑  收藏  举报