6장: 파일 입출력
파이썬에서는 파일을 읽고 쓰는 작업을 쉽게 수행할 수 있습니다. 이 장에서는 파일을 여는 방법, 파일에 데이터를 읽고 쓰는 방법, 그리고 파일을 닫는 방법에 대해 알아보겠습니다.
#### 6.1 파일 열기
파일을 열기 위해서는 `open()` 함수를 사용합니다. 이 함수는 파일 이름과 파일 모드를 인수로 받습니다. 파일 모드는 파일을 열 때의 작업을 지정하며, 주요 파일 모드는 다음과 같습니다:
- `'r'`: 읽기 모드 (기본값)
- `'w'`: 쓰기 모드 (파일이 존재하면 내용을 덮어씀)
- `'a'`: 추가 모드 (파일이 존재하면 끝에 내용을 추가)
- `'b'`: 바이너리 모드
```python
# 파일 열기 예제
file = open('example.txt', 'r')
```
#### 6.2 파일 닫기
파일을 다 사용한 후에는 `close()` 메서드를 호출하여 파일을 닫아야 합니다. 파일을 닫지 않으면 데이터 손실이나 파일 손상이 발생할 수 있습니다.
```python
# 파일 닫기 예제
file.close()
```
#### 6.3 파일 읽기
파일에서 데이터를 읽는 방법에는 여러 가지가 있습니다. `read()` 메서드는 파일의 전체 내용을 문자열로 반환합니다. `readline()` 메서드는 파일에서 한 줄을 읽고, `readlines()` 메서드는 파일의 모든 줄을 읽어 리스트로 반환합니다.
```python
# 파일 읽기 예제
with open('example.txt', 'r') as file:
content = file.read()
print(content)
with open('example.txt', 'r') as file:
line = file.readline()
while line:
print(line, end='')
line = file.readline()
with open('example.txt', 'r') as file:
lines = file.readlines()
for line in lines:
print(line, end='')
```
#### 6.4 파일 쓰기
파일에 데이터를 쓰기 위해서는 `write()` 메서드를 사용합니다. `w` 모드로 파일을 열면 기존 파일 내용을 덮어쓰게 되고, `a` 모드로 파일을 열면 기존 파일 내용 뒤에 데이터를 추가합니다.
```python
# 파일 쓰기 예제
with open('example.txt', 'w') as file:
file.write('Hello, Python!\n')
with open('example.txt', 'a') as file:
file.write('Appending a new line.\n')
```
#### 6.5 파일 예외 처리
파일 작업 중 예외가 발생할 수 있으므로, 예외 처리를 통해 오류를 방지할 수 있습니다. 파일 작업을 할 때 `try...except` 구문을 사용하는 것이 좋습니다.
```python
# 파일 예외 처리 예제
try:
with open('example.txt', 'r') as file:
content = file.read()
print(content)
except FileNotFoundError:
print("파일을 찾을 수 없습니다.")
except IOError:
print("파일을 읽는 중 오류가 발생했습니다.")
```
#### 6.6 바이너리 파일 읽기 및 쓰기
바이너리 파일을 읽고 쓰기 위해서는 파일 모드에 `'b'`를 추가해야 합니다. 예를 들어, `'rb'`는 바이너리 읽기 모드, `'wb'`는 바이너리 쓰기 모드입니다.
```python
# 바이너리 파일 읽기
with open('example.bin', 'rb') as file:
binary_content = file.read()
print(binary_content)
# 바이너리 파일 쓰기
with open('example.bin', 'wb') as file:
file.write(b'\x00\xFF\x00\xFF')
```
#### 6.7 CSV 파일 다루기
파이썬의 `csv` 모듈을 사용하면 CSV 파일을 쉽게 읽고 쓸 수 있습니다. `csv.reader`와 `csv.writer`를 사용하여 CSV 파일을 처리할 수 있습니다.
```python
import csv
# CSV 파일 읽기
with open('example.csv', 'r', newline='') as file:
reader = csv.reader(file)
for row in reader:
print(row)
# CSV 파일 쓰기
with open('example.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['name', 'age', 'city'])
writer.writerow(['Alice', '30', 'New York'])
writer.writerow(['Bob', '25', 'Los Angeles'])
```
이상으로, 파이썬에서 파일을 읽고 쓰는 방법에 대해 알아보았습니다. 다음 장에서는 예외 처리와 관련된 내용을 더 자세히 알아보겠습니다. 질문이나 요청사항이 있으시면 댓글로 남겨주세요!
---
이 글의 내용은 GoalKicker.com의 Python Notes for Professionals 책을 참조하였습니다.
댓글
댓글 쓰기