파이썬 파일 입출력(IO): 텍스트 파일 읽고 쓰기 기본기

"데이터를 프로그램 안에서만 다루는 것에 그치지 않고, 파일로 저장하거나 읽어오고 싶을 때가 많습니다."

파이썬에서는 파일 입출력(IO)을 매우 간단하고 직관적으로 처리할 수 있습니다.
특히 텍스트 파일을 읽고 쓰는 기본기를 익히면, 데이터 저장, 로그 기록, 설정 파일 관리 등 다양한 작업이 가능해집니다.

이번 글에서는
✔ 파일 열고 닫기
✔ 텍스트 파일 읽기
✔ 텍스트 파일 쓰기
✔ 파일 다루기 팁
까지 차분히 정리해보겠습니다.


파이썬 파일 입출력(IO) 기본 정리

1. 파일 열기 – open()

파이썬에서 파일을 다룰 때 가장 먼저 사용하는 함수는 open()입니다.

open(파일경로, 모드)
  • 모드(mode) 종류
    • 'r': 읽기(Read) 모드 (기본값)
    • 'w': 쓰기(Write) 모드 (파일이 없으면 새로 생성, 있으면 기존 내용 삭제)
    • 'a': 추가(Append) 모드 (파일 끝에 추가)
    • 'b': 바이너리(Binary) 모드 (텍스트가 아닌 데이터 다룰 때)

예시

file = open('example.txt', 'r')  # 읽기 모드로 파일 열기

 

파일 사용 후에는 반드시 닫아야 합니다.

file.close()

2. 파일 읽기

파일을 열었으면 다양한 방법으로 내용을 읽을 수 있습니다.

  • read(): 파일 전체를 하나의 문자열로 읽음
  • readline(): 한 줄씩 읽음
  • readlines(): 파일의 모든 줄을 리스트로 읽음

예시 – 파일 전체 읽기

file = open('example.txt', 'r')
content = file.read()
print(content)
file.close()

 

예시 – 한 줄씩 읽기

file = open('example.txt', 'r')

line = file.readline()
while line:
    print(line.strip())  # 줄바꿈 문자 제거
    line = file.readline()

file.close()

3. 파일 쓰기

파일에 새로운 내용을 작성하려면 쓰기 모드를 사용합니다.

  • 'w' 모드: 기존 내용을 모두 지우고 새로 작성
  • 'a' 모드: 기존 내용 뒤에 추가

예시 – 파일에 쓰기

file = open('example.txt', 'w')
file.write('Hello, world!\n')
file.write('Welcome to Python file I/O.\n')
file.close()

 

예시 – 파일에 추가하기

file = open('example.txt', 'a')
file.write('This line is appended.\n')
file.close()

4. with 구문으로 안전하게 파일 다루기

파일을 열고 닫는 것을 잊지 않기 위해, with 구문을 사용하는 것이 좋습니다.
with를 사용하면 블록을 벗어날 때 자동으로 파일이 닫힙니다.

예시

with open('example.txt', 'r') as file:
    content = file.read()
    print(content)
 

또는 파일 쓰기에도 사용할 수 있습니다.

with open('example.txt', 'w') as file:
    file.write('Using with block.\n')

 

 

with 구문을 습관처럼 사용하는 것이 실수를 줄이는 데 도움이 됩니다.


결론 – 파일 입출력을 다루면

  • 프로그램 외부와 데이터를 주고받을 수 있습니다.
  • 로그 파일, 설정 파일, 간단한 데이터 저장 등이 가능해집니다.
  • open(), read(), write(), with 구문을 자연스럽게 사용하는 것이 기본기입니다.

처음에는 간단한 텍스트 파일을 읽고 쓰는 연습부터 시작하고,
점차 CSV 파일이나 JSON 파일처럼 다양한 파일 형식으로 확장해보세요.