具体而言,我需要从已导入的模块中访问一些来自主模块的对象和全局变量。我知道当父模块需要从子模块获取某个特定的东西时如何找到这些内容,但我无法弄清如何朝另一个方向进行。
具体而言,我需要从已导入的模块中访问一些来自主模块的对象和全局变量。我知道当父模块需要从子模块获取某个特定的东西时如何找到这些内容,但我无法弄清如何朝另一个方向进行。
import __main__
但是不要这样做。
你需要的答案是:
import __main__
main_global1= __main__.global1
然而,每当一个模块module1
需要来自__main__
模块的东西时,那么:
__main__
模块应将所有必要的数据作为参数提供给module1
函数/类,__main__
和module1
中导入它,如import module2
。import sys
main_mod = sys.modules['__main__']
import __main__ as main_mod
。 - Ignacio Vazquez-Abrams不确定这是否是一个好的实践,但也许你可以将你需要的对象和变量作为参数传递给导入模块中调用的方法或类。
__main__
。 - Zae Zoxol