Python/45가지 파이썬 기초문법 예제

파이썬 (44) 파일 읽기 & 쓰기 고급

monstro 2025. 6. 9. 02:06
728x90
반응형

이번에는 파일 읽기와 파일 쓰기를 활용한 고급 예제를 수행해본다

예제는 다음과 같다

  • while문을 통해 무한 반복하며
  • 파일을 읽어들이되, 한줄씩 읽어와서 출력하고
  • 파일을 쓰되, 이어서 작성하고
  • 무한반복문을 탈출할 수 있도록 기능을 추가해야 한다

 

이때 파일에 대한 여러가지 모드를 적용하여 사용할 수 있다

출처 : https://wikidocs.net/215543

 

위와 같이 파일에 대한 여러가지 모드를 설정할 수 있는데,

이중에서 필요한 것은 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
반응형