2012-01-06 6 views
2

여러 프로그램 모듈에서 요소에 액세스 할 수 있도록 Python의 ConfigParser를 구현하는 가장 좋은 방법을 이해하려고합니다. 나는 다음을 사용하고있다 : -Python ConfigParser - 모듈 간 사용

import ConfigParser 
import os.path 

config = ConfigParser.RawConfigParser() 

config.add_section('paths') 
homedir = os.path.expanduser('~') 
config.set('paths', 'user', os.path.join(homedir, 'users')) 
[snip] 
config.read(configfile) 

마지막 줄에는 configfile 변수가 참조된다. 이것은 사용자가 기본 설정 파일을 덮어 쓸 수 있도록 Config 모듈로 전달되어야합니다. 다른 모듈이 config.get (spam, eggs)을 사용할 수있는 방식으로 모듈/클래스에서이를 어떻게 구현해야합니까?

답변

3

질문에 작성한 코드가 모듈 configmodule.py 안에 있다고 가정 해 봅시다. 그런 다음 다른 모듈은 다음과 같은 방식으로 액세스합니다.

from configmodule import config 
config.get(spam, eggs) 
+0

감사합니다. 이 솔루션을 사용하면 configfile 변수를 config 파서에 전달할 수 있습니까? –

+0

일반적으로 optparse 또는 argparse를 사용하여 사용자가 구성 파일을 선택할 수 있습니다. config 모듈에서 옵션 및 인수 구문 분석도 수행되는 경우 간단해야합니다 (문제가 발생하면 질문을 자유롭게 확장하십시오). 그렇지 않으면 프로그램 구조에 따라 크게 달라집니다. – silvado

+0

해결해 줘서 고마워! 그 트릭은 optparse와 ConfigParser를 같은 모듈에 넣는 것이었다. –