File / Exception / Log Handling

MostlyFor·2023년 1월 2일
1

1. Exception

예외 = 예상 가능한 예외 + 예상 불가능한 예외

1-1. 예상 가능한 예외

논리적인 오류 문제
-> if문으로 해결

1-2. 예상 불가능한 예외

ex) 정수 0으로 나누기, 리스트 범위 벗어난 호출 
-> exception handling 필요

exception handling

  1. try - except
  • 오류가 나와도 프로그램 종료하지 않고 진행 가능
for i in range(5):
    try:
        print(10/i)
    except ZeroDivisionError: 
        print('Error')

built-in exception : ZeroDivisionError와 같은 이미 정해진 error

정해지지 않은 error는 새로 정의할 수 있음.

raise - 강제로 exception 발생 (중간에 코드 정지)

assert - 조건에 따라 exception 발생

2. File

file은 text file과 binary file 두 가지가 있음.

text file

  • 문자열 형식으로 보여짐
  • 메모장을 열어봐서 읽을 수 있으면 text file임.
  • 실제로는 binary 파일로 저장되어 있으나 ASCII/Unicode 문자열 집합으로 저장되어 읽을 수 있음.
  • ex) HTML파일, PYTHON 코드 파일

binary file

  • 이진법 형식 파일
  • ex) excel, word 파일

pathlib 모듈

  • path를 객체로 다룸
  • 운영체제 다른 걸 신경 안써도 됨.

pickle 모듈

  • 객체를 계속해서 사용하고 싶을 때 사용
  • ex) 모델 저장, 함수 결과 저장 등등

3. Logging

프로그램 진행 상황에 따라 LEVEL별 LOG 관리 필요

LEVEL은 5단계임.
1. debug
2. info
3. warning
4. error
5. critical

로그 기본 세팅하는 방법
(어디에 저장할건지, 레벨은 어디부터 기록할건지 등등)

  1. configparser

  2. argparser

0개의 댓글