从模块中调用的函数中有用到globals(),如何获取主文件中的全局变量值?

比如说模块为:

m1.py:

    class a:
            @classmethod
            def  show_key(cls):
                    print(globals().keys())

main.py

    from m1 import a
    class b(a):
            pass
    def main():
        a.show_key()
        print(globals().keys())
    if __name__ == '__main__':
        main()

好像a.show_key( ) 中就只能显示a,但print(globals().keys())中可以显示啊a, b.
想请问,模块(m1)中怎样写,才能达到:main.py里调用该函数时,该函数能吧整个正在运行的程序中(包括所有其他被import到main.oy里面的模块)所有的全局变量的keys都打印出来呀?

https://www.cnblogs.com/rnckty/p/7722603.html

#coding=utf-8

outerVar="this is a global variable"
def test():
innerVar="this is a local variable"
print "local variables:"
print locals()

test()
print "global variables:"
print globals()