어제 오늘 내일

[Python 실전] 파이썬 딕셔너리를 TXT 파일로 저장하는 법 본문

IT/Python

[Python 실전] 파이썬 딕셔너리를 TXT 파일로 저장하는 법

hi.anna 2026. 6. 10. 11:53

1. 나중에 다시 읽을 수 있게 저장하기 (추천)

가장 좋은 방법은 json 모듈이나 str() 함수를 사용하는 것입니다. 텍스트 파일이지만 딕셔너리의 구조({ })를 그대로 유지하여 저장합니다.

📌 방법 1:  모듈 활용 (가장 표준적인 방식)

.txt 확장자로 저장하더라도 내부 형식을 JSON으로 유지하면 나중에 데이터를 다시 불러와서 딕셔너리로 복구하기가 매우 쉽습니다.

import json

user_data = {"name": "철수", "age": 25, "city": "서울"}

# txt 파일로 저장
with open("user.txt", "w", encoding="utf-8") as f:
    # indent를 주면 보기 좋게 저장됩니다.
    json.dump(user_data, f, ensure_ascii=False, indent=4)

print("txt 파일에 딕셔너리 구조로 저장 완료!")

2. 사람이 보기 편한 '리스트' 형태로 저장하기

키와 값을 한 줄씩 예쁘게 나열하여 메모장처럼 저장하고 싶을 때 사용합니다.

📌 방법 2: 반복문을 활용한 커스텀 저장

scores = {"수학": 90, "영어": 85, "과학": 95}

with open("scores.txt", "w", encoding="utf-8") as f:
    f.write("--- 성적표 ---\n")
    for subject, score in scores.items():
        # "과목: 점수" 형태로 한 줄씩 기록
        f.write(f"{subject}: {score}점\n")
    f.write("--------------")

print("사람이 읽기 편한 메모 형태로 저장 완료!")

3. 복잡한 객체 그대로 저장하기:  모듈

딕셔너리 안에 튜플이나 커스텀 클래스 객체처럼 JSON으로 담기 힘든 파이썬 전용 데이터가 섞여 있다면 pickle을 사용합니다. 단, 사람이 읽을 수는 없는 바이너리 형태로 저장됩니다.

import pickle

complex_data = {"id": 1, "coord": (10, 20), "tags": {"python", "coding"}}

# 'wb'는 Write Binary의 약자입니다.
with open("data.txt", "wb") as f:
    pickle.dump(complex_data, f)

# 다시 불러올 때
with open("data.txt", "rb") as f:
    loaded_data = pickle.load(f)
    print(loaded_data)

📝 어떤 방법을 선택할까요?

저장 방식 확장자 특징 추천 용도
JSON 방식 .txt / .json 구조 유지, 범용성 높음 가장 권장 (데이터 보관용)
반복문 방식 .txt 사람이 읽기 가장 편함 로그 기록, 간단한 리포트
Pickle 방식 .txt / .pkl 파이썬 전용 데이터 완벽 보존 복잡한 파이썬 객체 저장

💡 실무 팁: 한글 깨짐 방지

텍스트 파일로 저장할 때 encoding="utf-8"을 빼먹으면 한글이 깨져서 저장될 수 있습니다. 윈도우와 맥/리눅스 어디서든 잘 보이게 하려면 항상 이 옵션을 넣어주는 습관을 가지세요!

이제 딕셔너리를 JSON, CSV, TXT 모든 형식으로 저장하실 수 있게 되었습니다!
 

반응형
Comments