2010-08-16 4 views
2

Un module Python que je développe a un fichier de configuration principal dans /path/to/module/conf.conf. Le /path/to/module/dépend de la plate-forme (par exemple, /Users/me/module sous OS X, /home/me/module sous Linux, etc.).Définition du chemin d'accès aux fichiers de configuration du module

Actuellement je définis le /path/to/module dans __init__.py, où j'utilise la logique:

if sys.platform == 'darwin': 
ROOT = '/Users/me/module' 
elif sys.platform == 'linux': 
ROOT = '/home/me/module' 
# et cetera 

Une fois que je le répertoire racine du fichier de configuration, je peux ouvrir conf.conf où je veux.

Avez-vous une meilleure méthodologie?

Répondre

2

A l'intérieur de votre __init__.py, vous pouvez obtenir le répertoire où le scénario vit __init_.py en utilisant comme la variable magique __file__ donc:

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

alors vous savez que conf.conf sera situé à os.path.join(ROOT, 'conf.conf').

Questions connexes