Chapter 8. 파일 처리

IT 지식 / Python·2026.08.25
FILE HANDLING
Chapter 8. 파일 처리
파일 처리의 개념과 다양한 파일 형식에 대해 알아보고, 파이썬에서 파일을 읽고 저장하는 방법을 학습합니다.

8.1 파일 처리란?

파일 처리(File Handling)는 프로그램에서 파일을 읽거나 저장하는 기능입니다. 프로그램이 종료되어도 데이터를 보관하려면 파일에 저장해야 합니다.

파이썬에서는 다양한 파일을 다룰 수 있으며, 가장 많이 사용하는 파일은 다음과 같습니다:

  • TXT(텍스트 파일)
  • CSV(쉼표로 구분된 데이터 파일)
  • JSON
  • Excel

이번 장에서는 가장 기본적인 TXT 파일과 CSV 파일을 다루는 방법을 학습합니다.

8.2 파일 열기

파일을 사용하려면 먼저 파일을 열어야 합니다. 기본 문법은 다음과 같습니다:

기본 문법
파일객체 = open("파일명", "모드")

대표적인 모드는 다음과 같습니다:

모드 설명
"r" 읽기(Read)
"w" 쓰기(Write)
"a" 이어쓰기(Append)

파일 사용이 끝나면 반드시 닫아야 합니다. 다음과 같이 작성합니다:

파일 닫기
file.close()
8.3 TXT 읽기

예제 파일: hello.txt

파일 내용:

안녕하세요.
파이썬입니다.

파일 전체 읽기:

파일 전체 읽기
file = open("hello.txt", "r", encoding="utf-8")
text = file.read()
print(text)
file.close()
실행 결과
안녕하세요.
파이썬입니다.

한 줄씩 읽기:

한 줄씩 읽기
file = open("hello.txt", "r", encoding="utf-8")
for line in file:
    print(line)
file.close()
실행 결과
안녕하세요.

파이썬입니다.

줄 끝의 줄바꿈 문자(\n)도 함께 읽기 때문에 빈 줄처럼 보일 수 있습니다.

줄바꿈 제거:

줄바꿈 제거
file = open("hello.txt", "r", encoding="utf-8")
for line in file:
    print(line.strip())
file.close()
실행 결과
안녕하세요.
파이썬입니다.

strip() 함수는 문자열 양쪽의 공백과 줄바꿈 문자를 제거합니다.

8.4 TXT 저장

새 파일 만들기:

새 파일 만들기
file = open("sample.txt", "w", encoding="utf-8")
file.write("안녕하세요.\n")
file.write("파이썬입니다.")
file.close()

실행 후 sample.txt 내용:

안녕하세요.
파이썬입니다.

이어쓰기(Append):

이어쓰기
file = open("sample.txt", "a", encoding="utf-8")
file.write("\n오늘도 공부합니다.")
file.close()

실행 후 sample.txt 내용:

안녕하세요.
파이썬입니다.
오늘도 공부합니다.

여러 줄 저장:

여러 줄 저장
names = ["홍길동", "김철수", "이영희"]
file = open("names.txt", "w", encoding="utf-8")
for name in names:
    file.write(name + "\n")
file.close()
8.5 with 문

파일은 with 문을 사용하면 자동으로 닫힙니다. 따라서 가장 많이 사용하는 방법입니다.

읽기:

읽기
with open("hello.txt", "r", encoding="utf-8") as file:
    print(file.read())

저장하기:

저장하기
with open("hello.txt", "w", encoding="utf-8") as file:
    file.write("파이썬")

with 문을 사용하면 close()를 직접 작성하지 않아도 됩니다.

8.6 CSV 파일

CSV(Comma Separated Values)는 데이터를 쉼표(,)로 구분하여 저장하는 파일입니다. 엑셀에서도 쉽게 열 수 있어 많이 사용됩니다.

예시: student.csv

이름,나이,점수
홍길동,20,90
김철수,21,80
이영희,19,95

CSV 읽기:

CSV 읽기
import csv
with open("student.csv", "r", encoding="utf-8") as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)
실행 결과
['이름', '나이', '점수']
['홍길동', '20', '90']
['김철수', '21', '80']
['이영희', '19', '95']

CSV 파일의 한 줄은 리스트(List)로 읽어옵니다.

CSV 저장:

CSV 저장
import csv
with open("student.csv", "w", newline="", encoding="utf-8") as file:
    writer = csv.writer(file)
    writer.writerow(["이름", "나이", "점수"])
    writer.writerow(["홍길동", 20, 90])
    writer.writerow(["김철수", 21, 80])

생성된 파일:

이름,나이,점수
홍길동,20,90
김철수,21,80

여러 행 저장:

여러 행 저장
import csv
students = [
    ["홍길동", 20, 90],
    ["김철수", 21, 80],
    ["이영희", 19, 95]
]
with open("student.csv", "w", newline="", encoding="utf-8") as file:
    writer = csv.writer(file)
    writer.writerow(["이름", "나이", "점수"])
    writer.writerows(students)

writerows()는 여러 개의 데이터를 한 번에 저장합니다.

8.7 복합 예제

학생 정보를 TXT 파일에 저장합니다:

학생 정보 저장
students = [
    "홍길동,90",
    "김철수,80",
    "이영희,95"
]
with open("score.txt", "w", encoding="utf-8") as file:
    for student in students:
        file.write(student + "\n")

저장된 파일:

홍길동,90
김철수,80
이영희,95

CSV 파일을 읽어 학생 정보를 출력합니다:

학생 정보 출력
import csv
with open("student.csv", "r", encoding="utf-8") as file:
    reader = csv.reader(file)
    next(reader)
    for row in reader:
        print("이름 :", row[0])
        print("나이 :", row[1])
        print("점수 :", row[2])
        print()
실행 결과
이름 : 홍길동
나이 : 20
점수 : 90

이름 : 김철수
나이 : 21
점수 : 80

이름 : 이영희
나이 : 19
점수 : 95

📌 Chapter 8 핵심 정리
  • 파일 처리란 프로그램에서 파일을 읽거나 저장하는 기능이다.
  • 파이썬에서 파일을 열기 위해서는 open() 함수를 사용한다.
  • 파일을 닫기 위해서는 close() 메서드를 사용해야 한다.
  • TXT 파일은 read()write() 메서드를 사용하여 읽고 쓸 수 있다.
  • CSV 파일은 csv 모듈을 사용하여 쉽게 읽고 쓸 수 있다.
  • with 문을 사용하면 파일을 자동으로 닫을 수 있다.

프로그램·홈페이지·강의가 필요하신가요?

프로그램 판매, 무료 다운로드, 홈페이지 제작, IT 강의 상담을 도와드립니다.

상담 신청하기