如何从导入另一个文件的文件中获取对象?
How to get object from file that imported another file?
假设我有一个名为 fileOne.py
的 python 文件导入 fileTwo.py
。 fileTwo.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
之前完成加载。
假设我有一个名为 fileOne.py
的 python 文件导入 fileTwo.py
。 fileTwo.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
之前完成加载。