파일 입출력(File I/O)은 프로그래밍에서 데이터를 저장하고 불러오는 핵심 기능입니다. 프로그램이 실행될 때마다 데이터를 직접 입력하는 것은 비효율적이며, 파일을 활용하면 데이터를 영속적으로 저장하고 재사용할 수 있습니다.
파이썬은 직관적인 파일 처리 기능을 제공하여 텍스트 파일, CSV 파일, JSON 파일, 바이너리 파일 등 다양한 데이터를 쉽게 다룰 수 있도록 지원합니다. 이번 글에서는 파일을 여는 방법부터 데이터를 읽고 쓰는 방법, 그리고 실전에서 활용할 수 있는 다양한 파일 입출력 기법까지 자세히 알아보겠습니다.
1. 파일 입출력 기본 개념
1.1 파일 입출력이란?
파일 입출력(File I/O, Input/Output) 은 프로그램이 외부 저장소(예: 하드 드라이브, SSD)와 데이터를 주고받는 과정입니다. 이를 통해 프로그램 간에 데이터를 공유할 수 있으며, 사용자가 직접 입력하지 않아도 데이터를 유지할 수 있습니다.
1.2 open()
함수와 파일 모드
파이썬에서 파일을 열기 위해 open()
함수를 사용합니다. 파일을 열 때는 파일 모드(mode) 를 지정하여 읽기, 쓰기, 추가 등의 작업을 결정할 수 있습니다.
file = open('파일명', '모드')
모드 | 설명 |
---|---|
'r' |
읽기 모드 (기본값, 파일이 존재하지 않으면 오류 발생) |
'w' |
쓰기 모드 (파일이 존재하면 기존 내용을 삭제) |
'a' |
추가 모드 (기존 내용 유지, 새로운 내용 추가) |
'b' |
바이너리 모드 (이미지, 오디오, 동영상 파일 처리) |
'r+' |
읽기 및 쓰기 모드 (기존 내용 유지) |
'w+' |
읽기 및 쓰기 모드 (파일이 존재하면 기존 내용 삭제) |
'a+' |
읽기 및 추가 모드 (기존 내용 유지, 새로운 내용 추가) |
2. 파일 쓰기 (Writing to a File)
파일에 데이터를 저장하는 것은 매우 간단하며, write()
또는 writelines()
메서드를 사용하면 됩니다.
2.1 텍스트 파일 쓰기
'w'
모드로 파일을 열면, 기존 파일이 있을 경우 기존 내용이 삭제되므로 주의해야 합니다.
# 파일 생성 및 내용 작성
with open('example.txt', 'w') as file:
file.write('안녕하세요, 파이썬 파일 입출력!\n')
file.writelines(['첫 번째 줄\n', '두 번째 줄\n'])
writelines()
메서드는 리스트 형태로 여러 줄을 한 번에 저장할 수 있습니다.
2.2 추가 모드('a'
)를 활용한 데이터 추가
'a'
(append) 모드를 사용하면 기존 파일 내용을 유지하면서 새로운 내용을 추가할 수 있습니다.
# 기존 파일에 내용 추가
with open('example.txt', 'a') as file:
file.write('새로운 줄이 추가됩니다!\n')
3. 파일 읽기 (Reading from a File)
파일을 읽을 때는 여러 가지 방법이 있으며, 파일의 전체 내용을 읽거나 특정 부분만 읽을 수도 있습니다.
3.1 read()
메서드를 활용한 전체 내용 읽기
# 파일 전체 읽기
with open('example.txt', 'r') as file:
content = file.read()
print(content)
3.2 readline()
을 사용하여 한 줄씩 읽기
# 파일을 한 줄씩 읽기
with open('example.txt', 'r') as file:
line = file.readline() # 첫 번째 줄만 읽음
print(line.strip()) # 줄바꿈 제거 후 출력
3.3 readlines()
를 사용하여 모든 줄을 리스트로 반환
# 모든 줄을 리스트 형태로 가져오기
with open('example.txt', 'r') as file:
lines = file.readlines()
for line in lines:
print(line.strip()) # 줄바꿈 제거 후 출력
4. CSV 파일 처리
CSV(Comma-Separated Values) 파일은 데이터를 표 형식으로 저장하는 대표적인 방식입니다. 파이썬에서는 csv
모듈을 활용하여 손쉽게 데이터를 읽고 쓸 수 있습니다.
4.1 CSV 파일 작성
import csv
# CSV 파일 작성
data = [['이름', '나이'], ['홍길동', '30'], ['김철수', '25']]
with open('data.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
4.2 CSV 파일 읽기
import csv
# CSV 파일 읽기
with open('data.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
출력 결과:
['이름', '나이']
['홍길동', '30']
['김철수', '25']
5. JSON 파일 읽고 쓰기
JSON(JavaScript Object Notation)은 데이터를 구조화된 형식으로 저장하는 인기 있는 포맷입니다. 파이썬에서는 json
모듈을 사용하여 JSON 파일을 쉽게 다룰 수 있습니다.
5.1 JSON 파일 저장
import json
# JSON 데이터
data = {"이름": "홍길동", "나이": 30, "도시": "서울"}
# JSON 파일 저장
with open('data.json', 'w') as file:
json.dump(data, file, ensure_ascii=False, indent=4)
5.2 JSON 파일 읽기
import json
# JSON 파일 읽기
with open('data.json', 'r') as file:
loaded_data = json.load(file)
print(loaded_data)
6. 정리: 파일 입출력의 핵심 포인트
✅ 파일을 열 때 open()
함수를 사용하고 적절한 모드를 선택해야 합니다.
✅ 파일 작업 후에는 반드시 닫아야 하며, with
문을 사용하면 자동으로 닫힙니다.
✅ 파일 읽기와 쓰기에서 read()
, readline()
, readlines()
등의 메서드를 적절히 활용해야 합니다.
✅ CSV 및 JSON 파일 처리를 위한 csv
및 json
모듈을 사용할 수 있습니다.
파일 입출력은 실전 프로그래밍에서 데이터를 저장하고 불러오는 가장 기본적인 기술 중 하나입니다. 이를 잘 활용하면 데이터를 효율적으로 관리할 수 있으며, 프로그램의 기능을 확장하는 데도 큰 도움이 됩니다. 앞으로 파일을 다룰 때 위의 내용을 활용하여 더욱 안정적인 코드를 작성해 보세요! 🚀
Meta description:
파이썬에서 파일 입출력을 다루는 방법을 배워보세요. open()
, read()
, write()
, CSV 및 JSON 데이터 처리까지 실전 예제로 완벽 가이드!
HASHTAGS:
#파이썬 #파일입출력 #Python #프로그래밍 #코딩 #개발자팁 #소프트웨어개발 #데이터처리 #CSV #JSON## 파이썬 파일 입출력 완벽 가이드: 읽기, 쓰기, CSV, JSON 실전 활용
파일 입출력(File I/O)은 데이터를 저장하고 불러오는 필수적인 기능으로, 프로그램 간 데이터 공유와 영속적 저장을 가능하게 합니다.
파이썬은 강력하고 직관적인 파일 처리 기능을 제공하며, 이를 활용하면 텍스트 파일, CSV 파일, JSON 파일, 바이너리 파일 등 다양한 데이터를 쉽게 다룰 수 있습니다.
이번 글에서는 파일을 여는 방법부터 데이터를 읽고 쓰는 방법, 그리고 CSV 및 JSON 파일 처리까지 실전에서 자주 사용하는 기법을 중심으로 자세히 알아보겠습니다.
1. 파일 입출력 기본 개념
1.1 파일 입출력이란?
파일 입출력(File I/O, Input/Output)이란 프로그램이 외부 저장소(예: 하드 드라이브, SSD, 네트워크 스토리지 등) 와 데이터를 주고받는 과정입니다. 이를 통해 프로그램 간 데이터 공유가 가능하며, 사용자 입력 없이도 데이터를 유지할 수 있습니다.
1.2 open()
함수와 파일 모드
파일을 사용하려면 먼저 파일을 열어야 하며, 이를 위해 open()
함수를 사용합니다. 파일을 열 때는 파일 모드(mode) 를 지정하여 읽기 또는 쓰기 등의 작업을 결정할 수 있습니다.
file = open('파일명', '모드')
모드 | 설명 |
---|---|
'r' |
읽기 모드 (파일이 존재하지 않으면 오류 발생) |
'w' |
쓰기 모드 (파일이 존재하면 기존 내용을 삭제) |
'a' |
추가 모드 (기존 내용 유지, 새로운 내용 추가) |
'b' |
바이너리 모드 (이미지, 오디오, 동영상 파일 처리) |
'r+' |
읽기 및 쓰기 모드 (기존 내용 유지) |
'w+' |
읽기 및 쓰기 모드 (파일이 존재하면 기존 내용 삭제) |
'a+' |
읽기 및 추가 모드 (기존 내용 유지, 새로운 내용 추가) |
2. 파일 쓰기 (Writing to a File)
파일에 데이터를 저장하는 방법은 매우 간단하며, write()
또는 writelines()
메서드를 사용하면 됩니다.
2.1 텍스트 파일 쓰기
파일을 쓰기('w'
모드)로 열면, 기존 파일이 있을 경우 기존 내용이 삭제되므로 주의해야 합니다.
# 파일 생성 및 내용 작성
with open('example.txt', 'w') as file:
file.write('안녕하세요, 파이썬 파일 입출력!\n')
file.writelines(['첫 번째 줄\n', '두 번째 줄\n'])
위 코드는 example.txt
라는 텍스트 파일을 생성하고, 문자열을 저장하는 코드입니다. writelines()
메서드는 리스트 형태로 여러 줄을 한 번에 저장할 수 있습니다.
2.2 추가 모드('a'
)를 활용한 데이터 추가
'a'
(append) 모드를 사용하면 기존 파일 내용을 유지하면서 새로운 내용을 추가할 수 있습니다.
# 기존 파일에 내용 추가
with open('example.txt', 'a') as file:
file.write('새로운 줄이 추가됩니다!\n')
위 코드 실행 후 example.txt
에는 기존 내용이 유지된 채 새로운 줄이 추가됩니다.
3. 파일 읽기 (Reading from a File)
파일을 읽을 때는 여러 가지 방법이 있으며, 파일의 전체 내용을 읽거나 특정 부분만 읽을 수도 있습니다.
3.1 read()
메서드를 활용한 전체 내용 읽기
# 파일 전체 읽기
with open('example.txt', 'r') as file:
content = file.read()
print(content)
3.2 readline()
을 사용하여 한 줄씩 읽기
# 파일을 한 줄씩 읽기
with open('example.txt', 'r') as file:
line = file.readline() # 첫 번째 줄만 읽음
print(line.strip()) # 줄바꿈 제거 후 출력
3.3 readlines()
를 사용하여 모든 줄을 리스트로 반환
# 모든 줄을 리스트 형태로 가져오기
with open('example.txt', 'r') as file:
lines = file.readlines()
for line in lines:
print(line.strip()) # 줄바꿈 제거 후 출력
4. CSV 파일 처리
CSV(Comma-Separated Values) 파일은 데이터를 표 형식으로 저장하는 대표적인 방식입니다. 파이썬에서는 csv
모듈을 활용하여 손쉽게 데이터를 읽고 쓸 수 있습니다.
4.1 CSV 파일 작성
import csv
# CSV 파일 작성
data = [['이름', '나이'], ['홍길동', '30'], ['김철수', '25']]
with open('data.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
위 코드는 data.csv
라는 CSV 파일을 생성하고, 리스트 데이터를 표 형식으로 저장하는 예제입니다.
4.2 CSV 파일 읽기
import csv
# CSV 파일 읽기
with open('data.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
위 코드 실행 결과는 다음과 같습니다.
['이름', '나이']
['홍길동', '30']
['김철수', '25']
5. JSON 파일 읽고 쓰기
JSON(JavaScript Object Notation)은 데이터를 구조화된 형식으로 저장하는 인기 있는 포맷입니다. 파이썬에서는 json
모듈을 사용하여 JSON 파일을 쉽게 다룰 수 있습니다.
5.1 JSON 파일 저장
import json
# JSON 데이터
data = {"이름": "홍길동", "나이": 30, "도시": "서울"}
# JSON 파일 저장
with open('data.json', 'w') as file:
json.dump(data, file, ensure_ascii=False, indent=4)
5.2 JSON 파일 읽기
import json
# JSON 파일 읽기
with open('data.json', 'r') as file:
loaded_data = json.load(file)
print(loaded_data)
6. 정리: 파일 입출력의 핵심 포인트
✅ 파일을 열 때 open()
함수를 사용하고 적절한 모드를 선택해야 합니다.
✅ 파일 작업 후에는 반드시 닫아야 하며, with
문을 사용하면 자동으로 닫힙니다.
✅ 파일 읽기와 쓰기에서 read()
, readline()
, readlines()
등의 메서드를 적절히 활용해야 합니다.
✅ CSV 및 JSON 파일 처리를 위한 csv
및 json
모듈을 사용할 수 있습니다.
파일 입출력은 실전 프로그래밍에서 데이터를 저장하고 불러오는 가장 기본적인 기술 중 하나입니다. 이를 잘 활용하면 데이터를 효율적으로 관리할 수 있으며, 프로그램의 기능을 확장하는 데도 큰 도움이 됩니다. 앞으로 파일을 다룰 때 위의 내용을 활용하여 더욱 안정적인 코드를 작성해 보세요! 🚀
'프로그래밍 > Python' 카테고리의 다른 글
파이썬 리스트 컴프리헨션 완벽 가이드: 고급 활용과 성능 최적화 (0) | 2025.02.25 |
---|---|
파이썬 CSV 파일 처리 완벽 가이드: 데이터 저장, 읽기, 쓰기 및 실전 활용 (0) | 2025.02.25 |
파이썬 파일 입출력 완벽 가이드: 파일 열기, 닫기, 그리고 실전 활용 (0) | 2025.02.25 |
파이썬 사용자 정의 예외: 프로그램 안정성을 높이는 방법 (0) | 2025.02.25 |
파이썬 예외 처리 완벽 가이드: 프로그램 안정성을 위한 필수 개념 (0) | 2025.02.25 |