파이썬에서는 파일을 다루는 다양한 방법을 제공합니다. 파일을 열고 읽거나 쓰는 작업을 효율적으로 수행할 수 있으며, 예외 처리로 안전한 파일 작업도 가능합니다. 이번 글에서는 파이썬에서 파일을 처리하는 기본 문법과 주요 기능을 정리해 보겠습니다.
1. open() 함수의 기본 문법
파일을 열 때 사용하는 open() 함수는 다음과 같은 매개변수를 가집니다.
file_object = open(file_name, mode, buffering, encoding, errors, newline, closefd, opener)
- file_name: 파일 이름
- mode: 파일 모드(읽기, 쓰기, 추가 등)
- encoding: 파일 인코딩(예: utf-8)
- buffering: 버퍼 설정
- errors: 오류 처리 방식
- newline: 줄바꿈 문자 처리 방식
2. 파일 모드 (mode)
open() 함수의 mode 매개변수를 통해 파일 작업 방식을 지정합니다.
모드설명
r | 읽기 전용 모드 (파일이 없으면 예외 발생) |
w | 쓰기 모드 (파일 내용 초기화 또는 새 파일 생성) |
a | 추가 모드 (파일 끝에 내용 추가) |
x | 배타적 생성 모드 (파일이 존재하면 예외 발생) |
b | 바이너리 모드 (텍스트 대신 바이너리 처리) |
t | 텍스트 모드 (기본값) |
+ | 읽기와 쓰기 모두 가능 |
# 읽기 모드로 파일 열기
file = open('example.txt', 'r')
# 쓰기 모드로 파일 열기
file = open('example.txt', 'w')
# 추가 모드로 파일 열기
file = open('example.txt', 'a')
# 바이너리 읽기 모드로 파일 열기
file = open('example.jpg', 'rb')
# 바이너리 쓰기 모드로 파일 열기
file = open('example.jpg', 'wb')
# 읽기 및 쓰기 모드로 파일 열기
file = open('example.txt', 'r+')
# 텍스트 읽기 모드로 파일 열기 (기본 모드)
file = open('example.txt', 'rt')
# 바이너리 읽기 및 쓰기 모드로 파일 열기
file = open('example.jpg', 'r+b')
3. with open 구문
with open 구문은 파일 작업 후 자동으로 파일을 닫아줍니다.
with open('example.txt', 'r', encoding='utf-8') as file:
content = file.read()
print(content)
# 파일 여는 과정에서 예외처리
try:
with open('example.txt', 'r') as file:
content = file.read()
print(content)
except FileNotFoundError:
print('파일이 존재하지 않습니다.')
except PermissionError:
print('파일을 열 권한이 없습니다.')
except Exception as e:
print(f'예상치 못한 오류가 발생했습니다: {e}')
4. 파일 읽기
(1) 전체 읽기
with open("example.txt", "r", encoding="utf-8") as file:
content = file.read()
print(content)
(2) 특정 크기만큼 읽기
with open("example.txt", "r", encoding="utf-8") as file:
content = file.read(10) # 처음 10글자 읽기
print(content)
(3) 한 줄씩 읽기
with open("example.txt", "r", encoding="utf-8") as file:
line = file.readline()
while line:
print(line, end="") # 줄바꿈 방지
line = file.readline()
(4) 모든 줄을 리스트로 읽기
with open("example.txt", "r", encoding="utf-8") as file:
lines = file.readlines()
for line in lines:
print(line, end="")
5. 파일 쓰기
(1) 파일 초기화 후 쓰기
with open("example.txt", "w", encoding="utf-8") as file:
file.write("Hello, World!\n")
file.write("This is a test file.\n")
(2) 리스트 데이터 쓰기
lines = ["첫번째 라인\n", "두번째 라인\n"]
with open("example.txt", "w", encoding="utf-8") as file:
file.writelines(lines)
(3) 파일 끝에 내용 추가
with open("example.txt", "a", encoding="utf-8") as file:
file.write("추가된 내용입니다.\n")
6. 파일 닫기
파일 작업 후 반드시 닫아야 합니다. 하지만 with open 구문을 사용하면 자동으로 닫히므로 권장됩니다.
file = open('example.txt', 'w', encoding='utf-8')
try:
file.write('Hello, World!\n')
finally:
file.close() # 명시적으로 파일 닫기
7. 파일 작업 중 예외 처리
파일 작업 시 예상치 못한 오류를 방지하기 위해 예외 처리를 추가할 수 있습니다.
try:
with open('example.txt', 'r', encoding='utf-8') as file:
content = file.read()
print(content)
except FileNotFoundError:
print('파일이 존재하지 않습니다.')
except PermissionError:
print('파일에 접근할 권한이 없습니다.')
except Exception as e:
print(f'예상치 못한 오류가 발생했습니다: {e}')
8. 파일 작업 예제: 간단한 파일 처리
(1) 파일 읽기
with open("example.txt", "r", encoding="utf-8") as file:
print(file.read())
(2) 파일 쓰기 및 추가
with open("example.txt", "w", encoding="utf-8") as file:
file.write("새로운 내용 작성\n")
with open("example.txt", "a", encoding="utf-8") as file:
file.write("내용 추가\n")
파일 처리는 프로그래밍에서 중요한 부분을 차지합니다. 파이썬의 open() 함수와 with open 구문을 통해 효율적이고 안전한 파일 작업을 수행해 보세요. 추가적으로 예외 처리를 통해 오류를 예방하면 더욱 안정적인 프로그램을 만들 수 있습니다.
'코딩 > 파이썬' 카테고리의 다른 글
[새싹 성동 2기] SQLite 데이터베이스 연동 가이드 (2) | 2024.12.11 |
---|---|
[새싹 성동 2기] 객체 지향 프로그래밍 (OOP) 기초 (0) | 2024.12.11 |
[새싹 성동 2기]Python 데이터 타입과 연산자 기초 정리 (1) | 2024.12.09 |
[새싹 성동 2기] 파이썬 변수와 관련된 기초 정리 (1) | 2024.12.06 |
[새싹 성동 2기] Python 설치 및 가상환경 설정 방법 (0) | 2024.12.06 |