본문 바로가기

[Python] 48강 데이터 저장형 콘솔 프로그램 구조 만들기

@도마22026. 1. 14. 18:00
728x90


이 강의는 파이썬 강의 48강입니다.
이전 강의에서는 메뉴형 콘솔 프로그램 구조를 만들었습니다.
이번 강의에서는 그 구조에 데이터 저장을 결합해
프로그램을 종료해도 값이 남아 있는
데이터 저장형 콘솔 프로그램 구조를 만듭니다.


왜 “저장형” 구조가 필요한가

지금까지 만든 메뉴형 프로그램은
종료하면 모든 값이 사라졌습니다.

하지만 현실 프로그램은 다릅니다.

  • 메모장
  • 계정 정보
  • 설정 값
  • 기록, 로그

종료해도 데이터가 남아 있어야 합니다.
이걸 가능하게 만드는 것이
파일 + 메뉴 구조입니다.


1️⃣ 저장형 프로그램의 기본 흐름

저장형 콘솔 프로그램의 흐름은 다음과 같습니다.

  1. 시작 시 파일에서 데이터 불러오기
  2. 메뉴를 통해 데이터 수정
  3. 종료 시 파일에 데이터 저장

이 3단계가 핵심입니다.


2️⃣ 데이터 준비 (리스트 예제)

먼저 저장할 데이터를
리스트로 준비합니다.

items = []

이 리스트가
현재 프로그램 상태입니다.


3️⃣ 시작할 때 파일에서 데이터 불러오기

프로그램 시작 시
파일이 있다면 데이터를 불러옵니다.

items = []

try:
    with open("data.txt", "r") as f:
        for line in f:
            items.append(line.strip())
except:
    pass

파일이 없으면
그냥 빈 상태로 시작합니다.


4️⃣ 메뉴 기능 만들기

메뉴에서 데이터를
추가하고 확인할 수 있게 합니다.

def show_menu():
    print("1. 추가")
    print("2. 목록 보기")
    print("0. 종료")
def add_item():
    item = input("추가할 내용: ")
    items.append(item)
def show_items():
    for i in items:
        print(i)

5️⃣ 메뉴형 구조 + 저장 결합

이제 전체 구조를 만듭니다.

while True:
    show_menu()
    choice = input("선택: ")

    if choice == "1":
        add_item()
    elif choice == "2":
        show_items()
    elif choice == "0":
        break

6️⃣ 종료할 때 파일에 저장하기

프로그램이 끝날 때
현재 상태를 파일에 저장합니다.

with open("data.txt", "w") as f:
    for item in items:
        f.write(item + "\n")

다음 실행 때
이 데이터가 다시 불러와집니다.


7️⃣ 저장형 구조의 핵심 포인트

이 구조의 핵심은 이것입니다.

  • 리스트/딕셔너리 = 현재 상태
  • 파일 = 상태의 영구 저장소
  • 메뉴 = 상태 변경 수단

이 패턴은
수많은 프로그램의 기본입니다.


8️⃣ 실습 예제

아래 조건을 만족하는
저장형 프로그램을 만들어보세요.

  • 할 일(todo) 추가
  • 목록 출력
  • 프로그램 종료 후 재실행 시 목록 유지
더보기

힌트: 리스트, 파일 읽기/쓰기, 메뉴 구조


  • 이번 강의 핵심 정리
    • 저장형 프로그램은 시작·종료 처리가 중요하다
    • 프로그램 상태를 파일로 저장한다
    • 메뉴 구조와 파일 처리가 결합된다
    • 이 구조는 실전에서 매우 많이 쓰인다

728x90
도마2
@도마2 :: 도마의 코드노트

초보자를 위한 코딩 강의를 정리합니다. 파이썬부터 C#, Unity 게임 제작까지 차근차근 기록합니다. — 도마

목차