【发布时间】:2013-09-27 16:43:12
【问题描述】:
我很好奇是否可以访问其他模块导入的父模块的名称。
例如,如果我有一个模块 (moduleA) 并且父模块是模块 foo.py,它将被导入其中,moduleA 是否有可能知道 foo 的位置?
模块A
def print_parent_module():
os.path.asbpath(#somehow access filename of parent module)
foo.py
import moduleA
print moduleA.print_parent_module()
>>> "foo.py"
【问题讨论】:
-
一个模块可以被导入到许多其他模块中,所以不存在导入它的“那个”模块。
-
我认为他的意思是问你是否可以编写一个函数来识别正在导入它的文件名(从外部模块)
-
@yuvi 是的!我解释得很糟糕,但这就是我要问的。
-
可能,是的。一个好主意?当然不是。如果你问的意图是实际这样做,请不要这样做。
-
@ZackYoshyaro 尝试使用内置的
__file__魔术方法来获取当前文件的名称。如os.path.abspath(__file__).
标签: python