오늘은 파이썬 기초 마지막으로 파일 입출력에 대해서 알아보도록 하겠다.
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를 사용하면 데이터를 보다 직관적으로 다룰 수 있다.
'파이썬(Python)' 카테고리의 다른 글
파이썬(Python) Pandas 기초 데이타프레임(dataframe) (0) | 2025.03.18 |
---|---|
VScode 와 Qt Desinger 연동 완벽가이드 - 2 (0) | 2025.02.27 |
VSCode에서 Qt Designer 사용하기 – 설치부터 연동까지 완벽 가이드 (0) | 2025.02.20 |
초보자도 쉽게 따라하는 Qt Designer 설치 가이드 (0) | 2025.02.14 |
파이썬(Python) 함수와 모듈 완벽 가이드 (초보자용) (0) | 2025.02.10 |