1. 연구 모듈/Python
[Python] .INI 파일에 설정 읽고 쓰기 - 1. 예제 코드
사용자-1
2020. 10. 16. 07:30
표준 라이브러리인 configparser를 사용하면 .INI 파일을 읽고 쓸 수 있다.
.INI 파일 쓰기
import configparser
config = configparser.ConfigParser()
config['AAA'] = {} # 섹션을 생성한다
config['AAA']['BBB'] = 'CCC' # 섹션 아래 실제 값을 생성한다
config['DEFAULT']['DDD'] = 'EEE' # DEFAULT 섹션은 기본적으로 생성되어 있어 생성없이 쓸 수 있다
with open('config.ini', 'w') as configfile:
config.write(configfile)
- 1 Depth에 반드시 섹션을 생성한 후에 그 아래 값을 생성할 수 있다. (1 Depth에는 값을 생성할 수 없다)
- Depth는 최대 2 Depth까지 가능하다. (2 Depth에는 섹션을 생성할 수 없다)
.INI 파일 읽기 (기본)
import configparser
config = configparser.ConfigParser()
config.read('config.ini')
print("config['AAA']['BBB'] : " + config['AAA']['BBB'])
.INI 파일 읽기 (고급)
import configparser
config = configparser.ConfigParser()
config.read('config.ini')
if not 'AAA' in config: # 섹션이 존재하는지 체크
print("config['AAA'] not exist")
if 'BBB' in config['AAA']: # 섹션 아래 값이 존재하는지 체크
print("config['AAA']['BBB'] : " + config['AAA']['BBB'])
else:
print("config['AAA']['BBB'] not exist")
if 'DDD' in config['AAA']: # 섹션 아래 값이 존재하는지 체크
print("config['AAA']['DDD'] : " + config['AAA']['DDD'])
else:
print("config['AAA']['DDD'] not exist")
- Config 파일이 존재하지 않을 경우는, 에러가 나지 않고 단지 빈 맵으로 반환된다.(DEFAULT 섹션은 존재한다)
참고사항
<테스트 환경> - OS : Windows 10 - Python 버전 : 3.7.5