在python中从项目中检索模块路径的最佳方法是什么?

时间:2011-05-04 13:53:16

标签: python

| foo
|   main.py
|---- one
|    | __init__.py
|------ two
|      | __init__.py

考虑位于__init__.py的{​​{1}}文件。 在这个文件中,我想打印模块PATH:

foo/one/two/__init__.py

最好的方法是什么?

2 个答案:

答案 0 :(得分:3)

每个模块都有一个__name__属性,它将为您提供模块的点语法属性名称。 e.g:


from one import two
print two.__name__

这应该产生:


one.two

然后您可以使用相关文件分隔符替换点:


import os.path
from one import two
print two.__name__.replace('.', os.path.sep)

这将打印(在Linux / Unix等上):


one/two

或在Windows上:


one\two

答案 1 :(得分:1)

from foo.one import two
print two.__file__