在Python中,如何从导入的模块访问主模块的命名空间?

2024-04-26 12:30:08 发布

您现在位置:Python中文网/ 问答频道 /正文

具体来说,我需要从导入模块的主模块获取一些对象和全局参数。我知道当父模块想要从子模块得到某个特定的东西时,如何找到这些东西,但是我不知道如何朝着另一个方向前进。


Tags: 模块对象参数方向全局
3条回答

我认为这是可行的:

import sys    
main_mod = sys.modules['__main__']
import __main__

但不要这样做。

你要找的答案是:

import __main__

main_global1= __main__.global1

但是,每当模块module1需要来自__main__模块的内容时,则:

  • 无论是__main__模块应该提供所有必要的数据作为module1函数/类的参数
  • 或者,您应该将需要共享的所有内容放在另一个模块中,并在__main__module1中将其导入为import module2

相关问题 更多 >