본문 바로가기
파이썬(Python)

파이썬(Python) 파일 입출력 기초 - 초보자를 위한 가이드

by 정보오리 2025. 3. 3.

오늘은 파이썬 기초 마지막으로 파일 입출력에 대해서 알아보도록 하겠다.


1. 파일 입출력이란?

파일 입출력은 데이터를 파일에 저장하거나, 저장된 데이터를 읽어오는 과정이다. 파이썬에서는 open() 함수를 사용하여 파일을 열고, 데이터를 읽거나 쓸 수 있다.

1. 텍스트 파일 입출력

1.1 파일 열기

파일을 열 때는 open("파일명", "모드") 형식으로 사용한다. 모드에는 다음과 같은 옵션이 있다.

r 읽기 모드 (기본값)
w 쓰기 모드 (기존 내용 삭제)
a 추가 모드 (기존 내용 유지 후 추가)
x 새로운 파일 생성 후 쓰기
b 바이너리 모드 (예: 이미지, 영상 파일)

 

예제:

file = open("example.txt", "w")  # 쓰기 모드로 파일 열기
file.write("Hello, Python!")
file.close()  # 파일 닫기

 

1.2 파일 읽기

파일을 읽을 때는 read(), readline(), readlines()를 사용할 수 있다.

file = open("example.txt", "r")
data = file.read()  # 파일 전체 읽기
print(data)
file.close()

 

줄 단위로 읽기

file = open("example.txt", "r")
line = file.readline()  # 한 줄 읽기
print(line)
file.close()

 

 

모든 줄을 리스트로 읽기

file = open("example.txt", "r")
lines = file.readlines()  # 모든 줄을 리스트로 저장
print(lines)
file.close()

 

1.3 with 문을 활용한 안전한 파일 입출력

 

with 문을 사용하면 close()를 호출하지 않아도 자동으로 파일이 닫힌다.

with open("example.txt", "r") as file:
    data = file.read()
    print(data)  # 파일 읽기 후 자동 닫힘

 

1.4 파일에 추가하기

기존 파일에 새로운 내용을 추가하려면 a 모드를 사용한다.

with open("example.txt", "a") as file:
    file.write("\n추가된 내용")

 


 

2. CSV 파일 다루기

CSV(Comma-Separated Values) 파일은 데이터를 쉽고 가볍게 저장할 수 있는 형식으로, 엑셀에서도 열 수 있다. 파이썬에서는 csv 모듈을 사용하여 CSV 파일을 다룰 수 있다.

 

2.1 CSV 파일 작성하기

csv.writer()를 사용하여 CSV 파일을 작성할 수 있다.

import csv

with open("data.csv", "w", newline="") as file:
    writer = csv.writer(file)
    writer.writerow(["이름", "나이", "직업"])
    writer.writerow(["홍길동", 30, "개발자"])
    writer.writerow(["김철수", 25, "디자이너"])

 

2.2 CSV 파일 읽기

csv.reader()를 사용하여 CSV 파일을 읽을 수 있다.

import csv

with open("data.csv", "r") as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

 

2.3 CSV 파일에 데이터 추가하기

a 모드를 사용하여 기존 CSV 파일에 데이터를 추가할 수 있다.

import csv

with open("data.csv", "a", newline="") as file:
    writer = csv.writer(file)
    writer.writerow(["이영희", 28, "마케터"])

 

2.4 CSV 파일을 딕셔너리로 다루기

DictReader와 DictWriter를 사용하면 CSV 데이터를 딕셔너리 형태로 다룰 수 있다.

 

딕셔너리로 CSV 읽기

import csv

with open("data.csv", "r") as file:
    reader = csv.DictReader(file)
    for row in reader:
        print(row["이름"], row["나이"], row["직업"])

 

딕셔너리로 CSV 작성하기

import csv

fieldnames = ["이름", "나이", "직업"]

with open("data.csv", "w", newline="") as file:
    writer = csv.DictWriter(file, fieldnames=fieldnames)
    writer.writeheader()
    writer.writerow({"이름": "홍길동", "나이": 30, "직업": "개발자"})
    writer.writerow({"이름": "김철수", "나이": 25, "직업": "디자이너"})

 

 

3. 결론

파이썬에서 파일 입출력은 open() 함수를 사용하여 쉽게 처리할 수 있다. 텍스트 파일뿐만 아니라 CSV 파일도 csv 모듈을 활용하면 효과적으로 데이터를 관리할 수 있다. with 문을 사용하면 파일을 안전하게 닫을 수 있으며, DictReader와 DictWriter를 사용하면 데이터를 보다 직관적으로 다룰 수 있다.