2008-09-24 3 views
23

나는 간단한 설정을 위해 꽤 오랫동안 ConfigParser를 사용 해왔다. 오랫동안 나를 괴롭혔던 한 가지가 DEFAULT 섹션입니다. 적절한 사용이 무엇인지 잘 모르겠습니다. 필자는 설명서를 읽었지만 사용법 및 파일의 다른 섹션 (실제로 가능한 종류의 것을 설명하는 내용)에 영리한 예를보고 싶습니다.ConfigParser에서 사용하는 구성 파일에서 DEFAULT 섹션의 용도는 무엇입니까?

답변

31

"windows ini" "default section"에 대한 검색으로 here에 대한 설명을 발견했습니다. 요약 : [DEFAULT] 섹션에 입력 한 내용은 다른 모든 섹션으로 전파됩니다.

[host 1] 
lh_server=192.168.0.1 
vh_hosts = PloneSite1:8080 
lh_root = PloneSite1 

[host 2] 
lh_server=192.168.0.1 
vh_hosts = PloneSite2:8080 
lh_root = PloneSite2 

내가이 사용 ConfigParser를 읽을 수 있습니다 :

>>> cp = ConfigParser.ConfigParser() 
>>> cp.read('test1.ini') 
['test1.ini'] 
>>> cp.get('host 1', 'lh_server') 
'192.168.0.1' 

하지만 그 lh_server가에서 동일 통지 링크 된 웹 사이트에서 예제를 사용하여,의 내가 설정 파일이라고 test1.ini가 있다고 가정 해 보자 두 섹션; 실제로, 내가 추가 할 수있는 대부분의 호스트가 똑같을 것이라는 것을 깨닫습니다. 그래서 test2.ini,이 작업을 수행 할 수 있습니다 lh_server 키를 가지고 있지 섹션에도 불구하고

[DEFAULT] 
lh_server=192.168.0.1 

[host 1] 
vh_root = PloneSite1 
lh_root = PloneSite1 

[host 2] 
vh_root = PloneSite2 
lh_root = PloneSite2 

, 난 여전히 액세스 할 수 있습니다 :

>>> cp.read('test2.ini') 
['test2.ini'] 
>>> cp.get('host 1', 'lh_server') 
'192.168.0.1' 

이 변수를 사용의 또 다른 예를 들어 링크 된 페이지를 읽기 INI 파일을 더 단순화하기 위해 DEFAULT 섹션의 대체.

+0

예에서 Python을 사용하는 경우 +1. – refi64