728x90
반응형
이번에는 파일 읽기와 파일 쓰기를 활용한 고급 예제를 수행해본다
예제는 다음과 같다
- while문을 통해 무한 반복하며
- 파일을 읽어들이되, 한줄씩 읽어와서 출력하고
- 파일을 쓰되, 이어서 작성하고
- 무한반복문을 탈출할 수 있도록 기능을 추가해야 한다
이때 파일에 대한 여러가지 모드를 적용하여 사용할 수 있다

위와 같이 파일에 대한 여러가지 모드를 설정할 수 있는데,
이중에서 필요한 것은 a모드와 r 모드 그리고 이 둘을 혼합한 + 모드가 된다
- 코드
filepath = './TargetFolder_03/res.txt'
intro = "Select a menu number : "
file = open(filepath, 'a+')
while True:
print("--------------------------")
print("1. read")
print("2. write")
print("3. exit")
print("--------------------------")
menu = int(input(intro))
if menu == 1:
file = open(filepath, 'r')
print(file.read())
file = open(filepath, 'a+')
print()
print(">> Data read complete. <<")
elif menu == 2:
text = input('Write a text : ')
file.write(text + '\n')
print()
print(">> Data write complete <<")
elif menu == 3:
file.close()
print()
print(">> Program exit. <<")
break
코드는 위와 같이 구성하였다
무한 반복문을 돌면서 3개의 숫자를 입력받아 읽기 / 쓰기 / 종료를 수행한다
- 파일 읽기
1을 입력하면 파일을 읽어들이는데, 파일을 읽기 모드로 설정하여 읽어들인 후에
읽어들인 결과를 출력하고 다시 기본값인 a+ 모드로 전환한다
- 파일 쓰기
2를 입력하면 파일을 쓰는데, 작성한 결과마다 개행하여 문단을 구분한다
- 종료
3을 입력하면 무한반복문을 탈출한다
탈출하기 이전에 파일 모드를 종료하여 메모리 누수를 방지한다
최종 실행 결과는 다음과 같다



728x90
반응형
'Python > 45가지 파이썬 기초문법 예제' 카테고리의 다른 글
| 파이썬 (45) 간단 프로젝트 (0) | 2025.06.09 |
|---|---|
| 파이썬 (43) 폴더 재귀 조회 (0) | 2025.06.08 |
| 파이썬 (42) 파일 확장자 체크 (0) | 2025.06.04 |
| 파이썬 (41) 텍스트 파일 필터링 (0) | 2025.06.02 |
| 파이썬 (40) 비밀번호 체크 (0) | 2025.05.31 |