0

如何在模块级别获得 Python 中模块的完全限定名称?

例如,假设这是文件结构:

foo
├── setup.py
└── bar
    └── baz
        └── spam.py

spam.py模块级别的文件中,如何获取完全限定的模块名称"bar.baz.spam"


__file__,可以与它配对inspect.getmodulename(__file__)以获得模块名称"spam"。但是,我怎样才能把它变成"bar.baz.spam"

4

1 回答 1

1

尝试这样的事情:

from bar.baz import spam

print(spam.__name__)

如果要导入的名称不是模块,您可以像这样获取模块名称和对象名称:

from bar.baz.spam import MyClass

print(MyClass.__module__, MyClass.__name__)
于 2021-07-01T21:27:36.583 回答