파이썬 프로그램, 내장 모듈 (ConfigParser) 또는 독립 프로젝트 (ConfigObj)에 대한 설정 파일을 만드는 것이 더 낫습니다.더 나은 점은 ConfigObj 또는 ConfigParser입니다.
답변
지금까지 필자는 언제든지 ConfigParser를 사용해 보았습니다. 또한 포함 된 배터리로 써드 파티 라이브러리가 아닙니다.
비록 내가 인정해야하지만 ConfigObj 문서의 코드 샘플은 ConfigParser가 비교에서 실제로 멍청한 것처럼 보입니다. 무겁게 .ini 파일을 조작하는 스크립트의 경우, 나는 propably 선호합니다.
동의합니다. ConfigParser에서 누락 된 기능은 2.7 이후에 포함 된 배터리 인 ArgParse에 있음을 발견했습니다. 파이썬 2.7을 사용할 수있는 곳에서는 ArgParse로 마이그레이션했습니다. – Hernan
최근 configparser에서 configobj로 전환했으며, 그렇게하게되어 매우 기쁩니다.
큰 차이점은 configobj의 validator입니다. 그것은 나를 매우 쉽고/간결하게 (1) 각 항목에 대한 유형과 허용 가능한 값을 정의하고, (2) 기본값을 설정하게합니다.
이 두 가지 기능은 많은 코드를 저장하고 잘못되는 것을 방지합니다. 또한 코드의 복잡성 측면에서 configobj를 사용하는 데 추가 오버 헤드가 발생하지 않으며 라이브러리가 아주 작습니다.
기록을 위해 configobj에 대한 가장 좋은 소개가 [이 튜토리얼] (http://www.voidspace.org.uk/python/articles/configobj.shtml)이 될 수 있음을 발견했습니다.이 설명서는 약간 날짜가 있지만 기본 작업을 설명합니다 그리고 철학보다 더 나은 문서, imho. –
파이썬 버전에 따라이 질문에 답하는 것이 논쟁의 여지가 있지만 ConfigParser 및 ConfigObj를 간략하게 살펴본 후에 ConfigParser의 Python 3 버전 인 configparser를 사용하기로 결정했습니다. There’s also a backported version on PyPI.
ConfigParser는 나에게 성가신 것처럼 보였고 ConfigObj를 사용하면 목록에 난해한 문제가 발생했습니다 (필자는 실제로 길게 정렬되기 때문에 세로로 정렬 할 수 있기를 원합니다) 최신 버전이 2 년 이상 전에 발행 된 것은 도움이되지 않았습니다. 그러나 configparser의 API는 ConfigObj의 API (기능이 풍부한 것은 아니지만)로 보였습니다. Python 3로 전환하면 쉽게 기본 제공 버전으로 쉽게 전환 할 수 있습니다.
그건 그렇고, 그것은 지금까지 잘 작동합니다.
- 1. 위젯 디자인. 더 나은 점은 IFrame 또는 자바 스크립트?
- 2. 그 문맥에서 더 나은 점은 무엇입니까?
- 3. 더 나은 XPath 또는 Linq2Xml
- 4. db_connect - 또는 죽을 더 나은
- 5. 더 나은 HBASE 또는 Neo4j
- 6. Git을 Subversion에 병합하는 것보다 더 나은 점은 무엇입니까?
- 7. 더 나은 성능과 더 나은 구조
- 8. Perl에서 더 나은 점은 해시 참조 배열 또는 "플랫"해시 목록입니다.
- 9. SQL 성능 측면에서 더 나은 점은 IF ... ELSE 절 또는 WHERE LIKE 절입니다.
- 10. 더 나은 점은 인터페이스 또는 공개/보호 된 곳에서 놀고있는 것인가?
- 11. RedirectToAction 도움말 또는 더 나은 제안
- 12. 더 나은 : switch-case 또는 if-else?
- 13. 처리기 또는 수신기. 더 나은 무엇입니까?
- 14. 더 나은 단일 쿼리 또는 다중 쿼리입니까?
- 15. 더 나은 'parent()'또는 'parents()'가 무엇입니까?
- 16. 플래시에서 충돌 감지 ... 또는 더 나은 방법
- 17. C++ : __debugbreak() 또는 더 나은 대안으로 계속하십시오.
- 18. 더 나은 EBS 또는 개인 AMI는 무엇입니까?
- 19. 데이터 세트 또는 더 나은 아이디어를
- 20. PHP - 더 나은 출구 또는 반환?
- 21. 웹 양식 : 더 나은 테이블 또는 목록
- 22. 더 나은 방법 : DataSet 또는 DataReader?
- 23. 더 나은 방법 : objc_msgSendv 또는 NSInvocation?
- 24. 디렉토리 또는 더 나은 방법을위한 일괄 스크립팅
- 25. 더 나은 QTP 또는 Jmeter는 무엇입니까?
- 26. 더 나은 EJB3 IOC
- 27. 더 나은 SSMS?
- 28. 더 나은 데이터베이스 디자인?
- 29. Javascript : 더 나은 코드/더 나은 디자인 도움말
- 30. 은 메모리 관리, 또는 다른 이유로 더 나은, 또는
또한 YAML도 괜찮습니까? – Apocryphon
"더 나은"컨텍스트에 따라 다릅니다. 단순하고 복잡합니까? 어떤 종류의 설정? – detly
Apocryphon : 질문을 편집하는 것과 같이 제안 할 수 있습니다 : "ConfigParser, ConfigObj, YAML의 con와 pro는 무엇입니까?" –