728x90

이 강의는 파이썬 강의 48강입니다.
이전 강의에서는 메뉴형 콘솔 프로그램 구조를 만들었습니다.
이번 강의에서는 그 구조에 데이터 저장을 결합해
프로그램을 종료해도 값이 남아 있는
데이터 저장형 콘솔 프로그램 구조를 만듭니다.
왜 “저장형” 구조가 필요한가
지금까지 만든 메뉴형 프로그램은
종료하면 모든 값이 사라졌습니다.
하지만 현실 프로그램은 다릅니다.
- 메모장
- 계정 정보
- 설정 값
- 기록, 로그
종료해도 데이터가 남아 있어야 합니다.
이걸 가능하게 만드는 것이
파일 + 메뉴 구조입니다.
1️⃣ 저장형 프로그램의 기본 흐름
저장형 콘솔 프로그램의 흐름은 다음과 같습니다.
- 시작 시 파일에서 데이터 불러오기
- 메뉴를 통해 데이터 수정
- 종료 시 파일에 데이터 저장
이 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
'⚙️ Python > 💻 Python 기초' 카테고리의 다른 글
| [Python] 50강 작은 프로그램을 끝까지 완성하는 방법 (0) | 2026.01.15 |
|---|---|
| [Python] 49강 코드가 길어질 때 정리하는 법 (유지보수 감각 만들기) (0) | 2026.01.14 |
| [Python] 47강 메뉴형 콘솔 프로그램 구조 만들기 (0) | 2026.01.13 |
| [Python] 46강 기존 코드 리팩토링하기 (고치지 말고 개선하기) (0) | 2026.01.13 |
| [Python] 45강 데이터 구조를 다시 설계하는 방법 (0) | 2026.01.12 |