Python 파일 입출력 (파일 열기, 읽기와 쓰기)Language/Python2023. 10. 24. 14:33
Table of Contents
Python에서 파일 입출력은 매우 중요한 기능으로, 데이터를 저장하고 처리하는 다양한 응용 프로그램에서 활용됩니다. 이 글에서는 파일 열기와 닫기(open, with) 및 파일 읽기와 쓰기를 다룹니다.
파일 열기와 닫기
Python에서 파일을 열기 위해 open() 함수를 사용합니다. 파일을 사용한 후에는 반드시 닫아야 리소스를 효율적으로 관리할 수 있습니다.
open() 함수
open() 함수는 파일을 열기 위해 사용되며, 다음과 같은 기본 문법을 가집니다:
file_object = open('파일_경로', '모드')
- 파일 경로: 파일의 위치를 나타냅니다.
- 모드: 파일을 어떻게 열 것인지 지정합니다. 주요 모드는 다음과 같습니다:
'r': 읽기 모드 (기본값)'w': 쓰기 모드 (파일이 이미 존재하면 내용이 덮어씌워짐)'a': 추가 모드 (파일 끝에 데이터를 추가)'b': 바이너리 모드'+': 읽기와 쓰기 모드
파일 닫기
파일을 다 사용한 후에는 close() 메서드를 호출하여 닫아야 합니다.
file_object.close()
이 과정을 자동화하려면 with 구문을 사용하는 것이 좋습니다.
with 구문을 사용한 파일 열기
with 구문은 파일 작업 후 자동으로 파일을 닫아주는 편리한 방법입니다.
with open('파일_경로', '모드') as file_object:
# 파일 작업 수행
pass
# 여기서 파일은 자동으로 닫힘
예제: 파일에 텍스트 쓰기
with open('example.txt', 'w') as file:
file.write('이것은 예제 텍스트입니다.')
예제: 파일 읽기
with open('example.txt', 'r') as file:
content = file.read()
print(content)
파일 읽기
Python은 파일 읽기를 위한 다양한 메서드를 제공합니다.
read(): 전체 내용 읽기
with open('example.txt', 'r') as file:
content = file.read()
print(content)
readline(): 한 줄씩 읽기
with open('example.txt', 'r') as file:
line = file.readline()
while line:
print(line.strip()) # 줄바꿈 제거
line = file.readline()
readlines(): 모든 줄을 리스트로 읽기
with open('example.txt', 'r') as file:
lines = file.readlines()
for line in lines:
print(line.strip())
파일 쓰기
파일 쓰기를 위해 write()와 writelines() 메서드를 사용할 수 있습니다.
write(): 텍스트 쓰기
with open('example.txt', 'w') as file:
file.write('첫 번째 줄\n')
file.write('두 번째 줄\n')
writelines(): 여러 줄 쓰기
lines_to_write = ['첫 번째 줄\n', '두 번째 줄\n', '세 번째 줄\n']
with open('example.txt', 'w') as file:
file.writelines(lines_to_write)
파일 모드의 조합
파일 모드는 조합하여 사용할 수 있습니다. 예를 들어, 읽기와 쓰기를 동시에 하려면 'r+' 또는 'w+'를 사용할 수 있습니다.
예제: 읽기와 쓰기
with open('example.txt', 'r+') as file:
content = file.read()
print('파일 내용:', content)
file.write('\n새로운 줄 추가')
바이너리 파일 작업
텍스트 파일 외에 바이너리 파일 작업도 가능합니다.
예제: 이미지 파일 읽기
with open('image.png', 'rb') as image_file:
data = image_file.read()
print('바이너리 데이터 길이:', len(data))
예제: 이미지 파일 쓰기
with open('new_image.png', 'wb') as image_file:
image_file.write(data)
정리
Python의 파일 입출력은 open(), with 구문, 다양한 읽기와 쓰기 메서드를 사용하여 효율적으로 수행할 수 있습니다. 파일 작업 시 주의할 점은 다음과 같습니다:
- 파일 작업이 끝난 후 반드시 닫기.
- 파일 모드를 적절히 설정하여 데이터 손실 방지.
- 예외 처리를 통해 파일 작업 중 발생할 수 있는 오류 처리.

'Language > Python' 카테고리의 다른 글
| Python 모듈(module)과 패키지(package) (0) | 2023.10.25 |
|---|---|
| Python 객체지향 프로그래밍 (OOP) (0) | 2023.10.24 |
| Python의 리스트 컴프리헨션(List Comprehension) (0) | 2023.10.23 |
| Python 딕셔너리(Dictionary)와 집합(Set) (0) | 2023.10.22 |
| Python 리스트(list)와 튜플(tuple) (0) | 2023.10.22 |