我正在开发的Python模块在/path/to/module/conf.conf
中有一个主配置文件。 /path/to/module
/取决于平台(例如,OS X中为/Users/me/module
,Linux中为/home/me/module
等。)
目前我在/path/to/module
中定义__init__.py
,我在其中使用逻辑:
if sys.platform == 'darwin':
ROOT = '/Users/me/module'
elif sys.platform == 'linux':
ROOT = '/home/me/module'
# et cetera
获得配置文件根目录后,我可以在任何地方打开conf.conf
。
你有更好的方法吗?
答案 0 :(得分:2)
在__init__.py
内,您可以使用__init_.py
魔术变量获取__file__
脚本所在的目录,如下所示:
from os.path import dirname
ROOT = dirname(__file__)
然后您知道conf.conf
位于os.path.join(ROOT, 'conf.conf')
。