具体来说,我需要从导入模块中的主模块获取一些对象和全局变量。我知道当父模块想要从子模块中获取某些特定内容时如何找到这些东西,但我无法弄清楚如何向另一个方向前进。
答案 0 :(得分:13)
import __main__
但不要这样做。
答案 1 :(得分:9)
您正在寻找的答案是:
import __main__
main_global1= __main__.global1
但是,只要模块module1
需要来自__main__
模块的内容,那么:
__main__
模块应该提供所有必要的数据作为module1
函数/类的参数,import module2
和__main__
中将其作为module1
导入。答案 2 :(得分:3)
我认为这样可行:
import sys
main_mod = sys.modules['__main__']
答案 3 :(得分:1)
不确定这是不是一个好习惯,但也许你可以将你需要的对象和变量作为参数传递给你在导入模块中调用的方法或类。