"데이터를 프로그램 안에서만 다루는 것에 그치지 않고, 파일로 저장하거나 읽어오고 싶을 때가 많습니다."
파이썬에서는 파일 입출력(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 파일처럼 다양한 파일 형식으로 확장해보세요.
'개발 > Python' 카테고리의 다른 글
파이썬 Python Decorators(데코레이터) 쉽게 이해하기 (0) | 2025.05.02 |
---|---|
파이썬 모듈과 패키지: 파이썬 코드 재사용과 구조화하기 (0) | 2025.05.02 |
파이썬 예외 처리(Try-Except) 제대로 사용하는 방법 (0) | 2025.05.01 |
파이썬 클래스와 객체지향 프로그래밍(OOP) 입문 (1) | 2025.05.01 |
파이썬 함수(function) 만드는 방법과 활용법 쉽게 배우기 (0) | 2025.05.01 |