2010-08-16 4 views
2

Модуль Python, который я разрабатываю, имеет главный файл конфигурации в /path/to/module/conf.conf. /path/to/module/зависит от платформы (например, /Users/me/module в OS X, /home/me/module в Linux и т. Д.).Определение путей к файлам конфигурации модуля

В настоящее время я определить /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 в любом месте я хочу.

У вас есть лучшая методология?

ответ

2

внутри вашего __init__.py, вы могли бы получить каталог, где __init_.py скрипт живет с помощью волшебной переменной __file__ так:

from os.path import dirname 
ROOT = dirname(__file__) 

Тогда вы знаете, что conf.conf будет находиться в os.path.join(ROOT, 'conf.conf').

Смежные вопросы