Определение пути к файлам конфигурации модуля - PullRequest
2 голосов
/ 17 августа 2010

Модуль 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 где угодно.

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

1 Ответ

2 голосов
/ 17 августа 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...