从子包

时间:2015-05-11 17:50:23

标签: python configuration package setup.py

我正在寻找访问子包根目录的最佳方法,以便检索常见的配置文件(在我的例子中是JSON文件)。

例如,目录结构可能如下所示:

| README
| setup.py
| proj_name
   | __init__.py
   | pack_01
      | __init__.py
      | file_01.py
      | file_02.py
   | pack_02
      | __init__.py
      | file_03.py
      | file_04.py
   | conf
      | conf_01.json
      | conf_02.json
      | conf_03.json

在此示例中,程序包配置文件位于proj_name/conf目录中。

使用file_01等命令导入说import proj_name.pack_01.file_01时,属性__file__将指向proj_name/pack_01/file_01.py,并且需要一行root_dir=dirname(dirname(__file__));但是,这意味着在编写子包时需要了解目录结构。

有没有办法使用__root_package__等类似的变量访问根包(在本例中为proj_name)及其目录?在python中实现这个目的最简单的方法是什么?当使用setup.py实用程序构建一个egg时,该方法是否仍然有效?

提前谢谢!

0 个答案:

没有答案