2012-10-26 3 views
0

SafeConfigParser을 사용하고 있는데 구성 파일에 [DEFAULT] 섹션이 포함되어 있으며 아래 코드를 사용하여 해당 파트를 추출하고 있습니다. 내 DEFAULT 섹션 같은 보간 값을 포함하지만Python ConfigParser, DEFAULT 섹션의 보간이 가능합니까?

parser = SafeConfigParser(allow_no_value=True) 
parser.optionxform = str # makes names case sensitive 
defaultAttributesDic = parser.defaults() 

:

A= 10000 
B= %(A)s 

그러나 문제는 그 defaults() 반환 실제 원시 값 (값을 보간되지 않음). 왜 그럴까요? 언제 유용 할 수 있니? 나는이 결정의 이유를 모르겠다.

다른 섹션을 읽으려면 parser.items(section)을 사용하고 있는데 문제가 없습니다. 값은 보간 된 값으로 반환됩니다. defaults을 건너 뛰고 대신 items("DEFAULT")을 사용해야합니까? 이것을 나에게 설명해 주시겠습니까?

답변

1

defaults()RawConfigParser에서 상속 된 메서드입니다. 을 지원하지 않습니다.

나는 당신이 "정상" 섹션으로 "학대"을 다른 부분에 대한 기본값을 제공하는 대신 하려고에 대한 [DEFAULT] 섹션을 예약한다고 생각합니다. [DEFAULT] 섹션은 특별한 의미가 있으며 sections() 또는 has_section()과 같은 메소드에도 포함되지 않습니다.

"default" 섹션이 필요하다면 DEFAULT 이외의 이름으로 지정하십시오.