# Python 공부 시리즈 10편: 파일 입출력 (File I/O)

Han·2025년 7월 24일

Python 입문 시리즈

목록 보기
11/14

Python에서는 open() 함수를 사용하여 텍스트 또는 바이너리 파일을 읽고 쓰는 작업을 수행할 수 있습니다.


10.1 open(), 파일 모드(r, w, a, b, +), close()

open 함수

python

f = open("example.txt", "r")
  • example.txt 파일을 읽기 모드(r)로 열고 파일 객체 f에 할당합니다.

주요 파일 모드 요약

모드설명
'r'읽기 전용 (파일이 없으면 오류 발생)
'w'쓰기 전용 (기존 파일 삭제 후 새로 생성)
'a'쓰기 전용 (파일 끝에 내용 추가)
'b'바이너리 모드 (예: 이미지, 영상)
'+'읽기/쓰기 겸용 (r+, w+, a+)

파일 닫기(close())

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

python

f = open("example.txt", "r")
f.close()

10.2 읽기:read(), readline(), readlines(), tell(), seek()

read()

전체 내용을 문자열로 읽습니다.

python

f = open("example.txt", "r")
content = f.read()
print(content)
f.close()

readline()

한 줄씩 읽습니다.

python

f = open("example.txt", "r")
line1 = f.readline()
line2 = f.readline()
print(line1, line2)
f.close()

readlines()

모든 줄을 리스트 형태로 읽습니다.

python

f = open("example.txt", "r")
lines = f.readlines()
print(lines)
f.close()

tell()

파일 내 현재 위치(바이트)를 반환합니다.

python

f = open("example.txt", "r")
f.read(5)
print(f.tell())  # 5
f.close()

seek()

파일 내 원하는 위치로 커서를 이동합니다.

python

f = open("example.txt", "r")
f.seek(0)  # 맨 앞으로 이동
print(f.read())
f.close()

10.3 쓰기: write(), writelines()

write()

문자열을 파일에 씁니다.

python

f = open("example.txt", "w")
f.write("Hello, Python!\n")
f.write("File I/O is important.")
f.close()

writelines()

리스트로 전달된 여러 줄을 한 번에 씁니다. 줄바꿈 문자(\n)는 직접 포함해야 합니다.

python

lines = ["First line.\n", "Second line.\n", "Third line.\n"]

f = open("example.txt", "w")
f.writelines(lines)
f.close()

10.4 with 문 활용(Context Manager)

파일 작업 시 가장 추천되는 방식입니다. 자동으로 close()가 호출되어 리소스를 안전하게 반환합니다.

python

with open("example.txt", "r") as f:
    data = f.read()
    print(data)
# f는 자동으로 닫힘

마무리 요약

함수/키워드설명
open()파일 열기
read(), readline(), readlines()파일 읽기
write(), writelines()파일 쓰기
tell() / seek()위치 정보 확인 및 이동
with open(...) as ...자동으로 close() 처리되는 안전한 방법

마무리

이번 시리즈에서는 파일 입출력에 대해서 공부를 해보았습니다.
다음에는 예외처리 구조에 대해서 학습해보겠습니다.

profile
개발자를 꿈꾸는 청년

0개의 댓글