如何从导入另一个文件的文件中获取对象?

How to get object from file that imported another file?

假设我有一个名为 fileOne.py 的 python 文件导入 fileTwo.pyfileTwo.py 有没有办法动态访问 fileOne.py 中的对象?所以 fileTwo.py 不需要知道将导入它的文件的名称,而是可以这样做:FILE_THAT_IMPORTED_ME.myFunction().

基本上我想知道是否有一种方法可以从导入脚本的 'parent' 文件访问对象,从所述脚本。

您可以通过执行 import __main__ 访问导入您的文件,并且 __main__ 将包含父模块。

a.py#

import b
print(b)

b.py#

import __main__
print(__main__)

执行a.py将导致

<module '__main__' from '/home/jonatan/PycharmProjects/tests/test/a.py'>
<module 'b' from '/home/jonatan/PycharmProjects/tests/test/b.py'>

注意 __main__b 之前打印,因为模块 b 必须在继续文件 a 之前完成加载。