나는 간단한 설정을 위해 꽤 오랫동안 ConfigParser를 사용 해왔다. 오랫동안 나를 괴롭혔던 한 가지가 DEFAULT 섹션입니다. 적절한 사용이 무엇인지 잘 모르겠습니다. 필자는 설명서를 읽었지만 사용법 및 파일의 다른 섹션 (실제로 가능한 종류의 것을 설명하는 내용)에 영리한 예를보고 싶습니다.ConfigParser에서 사용하는 구성 파일에서 DEFAULT 섹션의 용도는 무엇입니까?
23
A
답변
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 섹션의 대체.
예에서 Python을 사용하는 경우 +1. – refi64