2010-08-16 4 views
2

개발중인 Python 모듈에 /path/to/module/conf.conf이라는 마스터 구성 파일이 있습니다. /path/to/module /은 플랫폼에 따라 다릅니다 (예 : OS X의 경우 /Users/me/module, Linux의 경우 /home/me/module 등). 어디서든 내가 원하는 내가 구성 파일의 루트 디렉토리가 있으면모듈 구성 파일의 경로 정의

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

, 나는 conf.conf를 열 수 있습니다

현재 나는 /path/to/module 내가 논리를 사용 __init__.py에 정의합니다.

더 좋은 방법이 있습니까? __init_.py 스크립트가 그렇게 같이 __file__ 마법 변수를 사용하여 사는 곳

답변

2

__init__.py의 내부, 당신은 디렉토리를 얻을 수 :

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

은 그럼 당신은 conf.confos.path.join(ROOT, 'conf.conf')에 위치 할 것이라는 점을 알고있다.