Exception & File & Log Handling

허진녕·2022년 9월 25일
0

AI_TECH

목록 보기
2/4
  • AI_TECH Week1 Day2
  • 이 포스팅에서는 코드 작성법을 다루지 않습니다.

Exception (예외처리)

예외처리를 통해 프로그램에서 발생할 수 있는 오류들을 처리할 수 있다.
보통은 try, except를 이용하고, 필요에 따라 raise, assert 구문을 사용한다.

예외의 종류

  • IndexError: List의 index 범위를 넘어갈 때
  • NameError: 존재하지 않은 변수를 호출할 때
  • ZeroDivisionError: 0으로 숫자를 나눌 때
  • ValueError: 변환할 수 없는 문자/숫자를 변환할 때
  • FileNotFoundError: 존재하지 않는 파일을 호출할 때
  • 더 많은 예외가 있기 때문에 필요할 때 검색하면 됨

File Handling

파일은 text(문자열 형태)와 binary(이진법 형태)로 구분할 수 있다.
파일을 open 함수로 열게 되면 close 함수를 이용하여 닫아주어야 하고,
with 구문을 이용하면 파일을 닫는 과정을 생략할 수 있다.

파일을 열 때 'r(읽기모드)', 'w(쓰기모드)', 'a(추가모드)' 중에서 필요에 맞는 접근 모드로 열어야 한다.
** 인코딩 문제가 있다면, encoding='utf8'을 이용하면 된다.

  • readlines() - 한 줄씩 리스트 형태로 저장
  • readline() - 한 줄만 불러옴 (순차적으로)

Log Handling

프로그램 실행 중에 생기는 정보를 log 라고 한다.
'logging' 모듈으로 구현할 수 있다.

로그의 Level

  • DEBUG > INFO > WARNING > ERROR > Critical

  • debug: 개발시 처리 기록을 남겨야하는 로그 정보를 남김
    ex) 함수 A를 호출함, 변수 B를 무엇으로 변경

  • info: 처리가 진행되는 동안의 정보를 알림
    ex) 서버 시작 종료, user A 접속

  • warning: 사용자가 잘못 입력한 정보나 처리는 가능하나
    원래 의도와는 정보가 들어왔을 때 알림

  • error: 잘못된 처리로 인해 에러가 났으나, 프로그램은 동작할 수 있음

  • critical: 잘못된 처리로 데이터 손실이나
    더이상 프로그램이 동작할 수 없음을 알림

**파이썬에서는 warning부터 화면에 출력되므로, 이를 조절하기 위해서는 logging.basicConfig(level=logging.DEBUG) 처럼 log level을 설정해야 한다.

로그의 저장

  • configparser: 프로그램 실행 설정을 file에 저장하여, 호출하여 사용
    .cfg 형태로 파일을 저장하고 호출해야 함
  • argparser: 콘솔창에서 프로그램 실행시 setting 정보를 저장함
profile
Hello!

0개의 댓글