JSON 파일 형태로 config 를 처리하는 작업을 하는 것을 하다 보니 읽고 쓸 일이 있네.
간략하게 정리해둬 보자.
일단 JSON 파일을 아래 처럼 만들어 보았다.
{
"System": {
"version": "1.0.0",
},
}
이걸 읽어서 버전을 찍어주도록 하는 코드 예제는 아래와 같다.
self.config 에 읽은 정보가 다 들어오고,
배열, dict 형태로 접근해서 정보를 읽고 쓰면 된다.
업데이트는 아래 updateConfig 처럼 그냥 파일 열어서 JSON 객체를 json.dump로 쓰면 된다.
여기서 indent =4 를 주면 보기 좋게 되고, 안주면 쭉 붙여서 일렬로 문자열이 저장된다. 취향따라 하면 된다.
copy pythonimport os
import json
...
def readConfig(self, file_path):
with open(file_path, "r", encoding='utf-8') as json_file:
self.config = json.load(json_file)
print(self.config['System']['version'])
def updateConfig(self, file_path):
print(self.config)
with open(file_path, 'w', encoding='utf-8') as outfile:
json.dump(self.config, outfile, indent=4)
이글은 아래 글을 보고 참고하였습니다.
codechacha.com/ko/python-read-write-json-file/
Python - JSON 파일 읽고 쓰는 방법
json.dump()로 dict를 JSON 파일로 저장하거나, json.load()로 JSON 파일을 읽어 dict 객체로 가져올 수 있습니다. 또한 데이터를 추가하고 다시 JSON 파일로 저장할 수 있습니다. indent 옵션을 인자로 주면 보
codechacha.com
이글도 잘 정리가 되어 있네요.
Python에서 json파일 다루기 (읽기, 쓰기, 수정)
Python에서 json파일 다루기 (읽기, 쓰기, 수정) C 드라이브에 아래와 같은 json 형식의 파일이 있다고 가정해보자 C:\test.json { "K5": { "price": "5000", "year": "2015" }, "Avante": { "price": "3000", "ye..
devpouch.tistory.com
그리고, config 파일을 저장하는 방식에 대한 논의가 있을 수 있는데, 아래 글을 참고하면 좋을듯
emilkwak.github.io/python-setting-file-ext
Python과 궁합 맞는 설정 파일 4총사 - ini, json, yaml, py
Python, Pandas를 Excel보다 사랑하는 직장인을 위한 블로그
emilkwak.github.io
나는 ini 파일 보단 JSON이 좋을 듯하여 선택, ini 파일은 설정 값이 없을때 처리가 exception으로 해야해서 활용하기 어려운 점이 있더라고......그냥 Null check 만 하면 좋은데 예외처리하려면 번거롭다 쩝
BJ.

'IT > 파이썬' 카테고리의 다른 글
파이썬 pyqt5 pyside2 윈도우 창 상태 - maximized 확인 (0) | 2021.02.02 |
---|---|
파이썬 JSON 읽기 에서 특정 키 가 있는지 먼저 확인하기 (0) | 2021.02.02 |
파이썬 윈도우 크기와 포지션 정보 가져오기 및 세팅하기 (0) | 2021.02.02 |
파이썬 Qt Designer 에서 Layout stretch 옵션 값 설정 (0) | 2021.02.01 |
파이썬 리소스 파일 py 파일로 변환하기 - pyside2 rcc (0) | 2021.01.28 |