我很好奇是否可以访问导入其他模块的父模块的名称.
例如,如果我有一个模块(moduleA)并且父模块是foo.py,它将被导入到模块中,那么moduleA是否可以知道foo的位置?
ModuleA
def print_parent_module():
os.path.asbpath(#somehow access filename of parent module)
foo.py
import moduleA
print moduleA.print_parent_module()
>>> "foo.py"
最佳答案
我遇到了类似的问题.你可以使用__name__:
parent_name = '.'.join(__name__.split('.')[:-1])
或者,如果您尝试直接访问模块(不是OP的问题但相关),请参阅Is there a way to access parent modules in Python中的答案