파이썬 기초: 파일 입출력과 예외 처리 완벽 정리
프로그램에서 **파일 입출력(File I/O)**은 데이터를 파일에 저장하거나 파일에서 읽어오는 작업을 의미합니다. 또한 **예외 처리(Exception Handling)**는 프로그램에서 발생할 수 있는 오류를 처리하는 방법입니다. 이번 글에서는 파이썬의 파일 입출력과 예외 처리에 대해 배워보겠습니다.
1. 파일 입출력 (File I/O)
파이썬에서는 파일을 읽고 쓰는 작업을 **파일 객체(file object)**를 사용하여 처리합니다.
1.1 파일 열기 (open())
파일을 사용하려면 먼저 파일을 열어야 합니다. open() 함수는 파일을 열 때 사용됩니다.
file = open("example.txt", "r") # 읽기 모드
모드 설명:
- 'r': 읽기 모드 (파일이 존재해야 함)
- 'w': 쓰기 모드 (파일이 없으면 새로 생성됨, 기존 파일은 덮어씀)
- 'a': 추가 모드 (파일 끝에 추가)
- 'b': 이진 모드 (바이너리 파일을 처리할 때 사용)
1.2 파일 읽기
파일을 열고 나면, 파일 내용 읽기가 가능합니다.
예제 1: 전체 내용 읽기
file = open("example.txt", "r")
content = file.read()
print(content)
file.close()
예제 2: 한 줄씩 읽기
file = open("example.txt", "r")
for line in file:
print(line.strip()) # 줄 끝의 개행 문자 제거
file.close()
1.3 파일 쓰기
파일에 데이터를 쓸 때는 write() 또는 writelines()를 사용합니다.
file = open("example.txt", "w")
file.write("Hello, World!")
file.close()
writelines()는 여러 줄을 한 번에 쓸 수 있습니다.
lines = ["첫 번째 줄\n", "두 번째 줄\n", "세 번째 줄\n"]
file = open("example.txt", "w")
file.writelines(lines)
file.close()
1.4 파일 닫기
파일을 다 사용한 후에는 close()를 호출하여 파일을 닫아야 합니다. 이는 리소스를 해제하고 파일의 변경 내용을 저장하는 데 필요합니다.
2. 예외 처리 (Exception Handling)
프로그램 실행 중에 예상치 못한 오류가 발생할 수 있습니다. 이를 처리하기 위해 예외 처리를 사용합니다.
2.1 기본 문법
파이썬에서는 try와 except를 사용하여 예외를 처리합니다.
try:
# 오류가 발생할 가능성이 있는 코드
result = 10 / 0
except ZeroDivisionError:
# 오류가 발생했을 때 실행할 코드
print("0으로 나눌 수 없습니다!")
2.2 여러 개의 예외 처리
여러 개의 예외를 처리하려면 except를 여러 번 사용하거나, (예외1, 예외2) 형태로 여러 예외를 처리할 수 있습니다.
try:
number = int(input("숫자를 입력하세요: "))
result = 10 / number
except ZeroDivisionError:
print("0으로 나눌 수 없습니다!")
except ValueError:
print("유효한 숫자를 입력해주세요!")
except Exception as e:
print(f"알 수 없는 오류 발생: {e}")
2.3 else와 finally
- else: 예외가 발생하지 않으면 실행됩니다.
- finally: 예외 발생 여부와 관계없이 항상 실행됩니다. 주로 리소스 해제에 사용됩니다.
try:
result = 10 / 2
except ZeroDivisionError:
print("0으로 나눌 수 없습니다!")
else:
print("예외가 발생하지 않았습니다. 결과:", result)
finally:
print("이 구문은 항상 실행됩니다.")
3. 파일 입출력과 예외 처리 함께 사용하기
파일을 처리할 때 예외 처리를 사용하면 프로그램의 안정성을 높일 수 있습니다. 예를 들어, 파일을 읽거나 쓸 때 파일이 존재하지 않거나 권한 문제가 발생할 수 있습니다.
예제 1: 파일 읽기 예외 처리
try:
file = open("nonexistent_file.txt", "r")
content = file.read()
print(content)
except FileNotFoundError:
print("파일을 찾을 수 없습니다!")
finally:
print("파일 처리 완료")
예제 2: 파일 쓰기 예외 처리
try:
file = open("example.txt", "w")
file.write("새로운 내용")
except IOError:
print("파일을 쓸 수 없습니다!")
finally:
file.close()
4. with 구문을 이용한 파일 처리
with 구문을 사용하면 파일을 자동으로 열고 닫을 수 있습니다. 이는 파일을 안전하게 처리하는 데 매우 유용합니다.
with open("example.txt", "r") as file:
content = file.read()
print(content)
with 구문을 사용하면 파일을 명시적으로 닫을 필요가 없습니다. 파일을 다 사용한 후, 자동으로 닫힙니다.
5. 결론
이번 글에서는 파일 입출력과 예외 처리에 대해 배웠습니다.
✅ 파일 입출력: 파일을 열고, 읽고, 쓰고, 닫는 작업
✅ 예외 처리: 오류를 처리하여 프로그램의 안정성 증가
✅ with 구문을 활용한 파일 관리
✅ 다양한 예외 처리를 통해 예기치 못한 오류에 대응
다음 글에서는 파이썬의 클래스와 객체 지향 프로그래밍(OOP)에 대해 알아보겠습니다! 🚀
'BIG DATA > PYTHON' 카테고리의 다른 글
[PYTHON] 파이썬 모듈과 패키지 완벽 정리 (0) | 2025.02.22 |
---|---|
[PYTHON] 파이썬 객체 지향 프로그래밍(OOP) 완벽 정리 (0) | 2025.02.22 |
[PYTHON] 파이썬 기초: 함수(Function) 완벽 정리 (0) | 2025.02.21 |
[PYTHON] 파이썬 기초: 리스트, 튜플, 딕셔너리 완벽 정리 (1) | 2025.02.21 |
[PYTHON] 파이썬 기초: 반복문 (for, while) 완벽 정리 (0) | 2025.02.21 |