2010-08-10 4 views
0

ConfigParser를 사용하여 구성 파일의 섹션 이름을 쉽게 바꿀 수 있습니까? 내가 섹션을 삭제하고 그것을 다시 만들 필요가 싶지 않아,하지만 그건 내 유일한 대답은 지금이다.python의 ConfigParser를 사용하여 config.ini 섹션 이름 바꾸기

+0

관련 항목 : http://stackoverflow.com/questions/15069127/python-configparser-module-rename-a-section 다른 하나는 삭제되지 않았기 때문에 중복되지 않습니다./제한을 다시 만들지 만, 여기에 착륙 한 사람은 그 방법을 설명합니다. – jpmc26

답변

0

아니요 내장 된 ConfigParser는 섹션을 _sections으로 저장합니다.이 섹션은 dict입니다. 이것이 파이썬이기 때문에 당신은 쉬운 복사본을하기 위해 그 변수에 접근 할 수 있습니다. (config._sections[new_name] = config._sections[old_name]; config._sections.pop(old_name)

그러나 ConfigParser 일부 나중에 변경할 수 있으며,이 구현을 깰 것이다.

그러므로 내가 그 일을하지 않는 것이 좋습니다, 또는 당신 ConfigParser를 서브 클래스와 delete_section을 구현하거나하는 방식의 옵션은 변경 될 수 있습니다 저장 됨

+0

감사합니다. 내가 원하는 섹션을 삭제하도록 구현했습니다. 이름을 바꾼 다음 다시 작성하십시오. 이제는 내 문제가 완전히 무질서해진다. 파서는 새로운 섹션을 어떻게 추가합니까? 파일 끝이나 끝인가요? – Falmarri

+0

기본 유형은 _sections 변수에 대한 dict이므로 섹션 내의 항목에 대해 보장 된 순서를 얻을 수 없습니다. ConfigParser 클래스의 많은 부분을 오버라이드해야합니다. 일부 대안은 여기에서 논의됩니다. http://wiki.python.org/moin/ConfigParserShootout – iondiode