어제 오늘 내일

[Python 실전] 파이썬 딕셔너리를 파일로 저장하는 법: JSON 활용 가이드 본문

IT/Python

[Python 실전] 파이썬 딕셔너리를 파일로 저장하는 법: JSON 활용 가이드

hi.anna 2026. 6. 8. 06:46

1. JSON이란 무엇인가요?

JSON은 데이터를 저장하거나 전송할 때 사용하는 경량의 데이터 형식입니다. 파이썬의 딕셔너리({})리스트([]) 구조와 거의 1:1로 매칭되기 때문에 변환이 매우 쉽습니다.


2. 딕셔너리를 JSON 파일로 저장하기 ()

파이썬 내장 모듈인 json을 임포트하여 사용합니다. dump() 함수는 딕셔너리를 파일 객체로 직접 써넣어 줍니다.

📌 실전 예제: 설정값 저장하기

import json

# 저장할 딕셔너리 데이터
config = {
    "user_id": "gemini_dev",
    "theme": "dark_mode",
    "notifications": True,
    "recent_projects": ["AI_bot", "Web_scraper"]
}

# 1. 파일 열기 (w: 쓰기 모드)
with open("user_config.json", "w", encoding="utf-8") as f:
    # 2. 딕셔너리를 JSON 파일로 저장
    # indent: 들여쓰기 칸수 (가독성 향상)
    # ensure_ascii=False: 한글 깨짐 방지
    json.dump(config, f, indent=4, ensure_ascii=False)

print("설정 파일이 저장되었습니다.")

3. JSON 파일을 딕셔너리로 불러오기 ()

반대로 저장된 파일을 읽어와 파이썬 딕셔너리 객체로 다시 변환하는 방법입니다.

📌 실전 예제: 설정값 불러오기

import json

# 1. 파일 열기 (r: 읽기 모드)
with open("user_config.json", "r", encoding="utf-8") as f:
    # 2. JSON 파일을 딕셔너리로 변환
    loaded_config = json.load(f)

print(f"사용자 ID: {loaded_config['user_id']}")
print(f"최근 프로젝트: {loaded_config['recent_projects'][0]}")

4. 꿀팁:  vs ,  vs  차이점

초보자들이 가장 헷갈려 하는 부분입니다. 뒤에 's'가 붙느냐 안 붙느냐에 따라 대상이 달라집니다.

  • dump() / `load()`: 파일(File)을 직접 다룰 때 사용 (f 같은 파일 객체 필요)
  • dumps() / `loads()`: 문자열(String)로 변환하거나 읽을 때 사용 (네트워크 전송 시 유용)

📌 예제: 딕셔너리를 문자열로 바꾸기

# 딕셔너리를 한 줄짜리 JSON 문자열로 변환
json_string = json.dumps(config)
print(type(json_string)) # <class 'str'>

📝 핵심 요약

  1. 모듈 임포트: import json은 필수입니다.
  2. 한글 설정: 한글이 들어있다면 ensure_ascii=False 옵션을 꼭 넣어주세요.
  3. 가독성: indent=4 옵션을 사용하면 텍스트 편집기에서 파일을 볼 때 구조가 명확하게 보입니다.
  4. 파일 닫기: with open(...) 구문을 사용하면 작업이 끝난 후 파일이 자동으로 안전하게 닫힙니다.

 

반응형
Comments