07_파이썬 중급(3)

ryu·2023년 5월 11일

예외 처리

  • 발생된 예외를 별도 처리함으로써 프로그램 전체의 실행에 문제가 없도록 함
  • 별도 처리하지 않은 경우 예외 발생시 프로그램이 중단됨

try ~ except

  • 예외가 발생할 경우의 처리할 내용을 작성

    try:
      	a = 10 / 0
    except:
      	print('0으로 나누면 안돼요!')
        
    print('그래도 프로그램이 중단되지는 않습니다.')

try ~ except ~ else

  • 예외가 발생하지 않은 경우에 실행하는 구문을 else 구문에 처리

    try:
      	a = 10 / 2
    except:
      	print('0으로 나누면 안돼요')
    else:
      	print('올바른 수식입니다.')  
    
    # 올바른 수식입니다.

finally

  • 예외 발생과 상관없이 항상 실행
  • 외부 자원을 사용하는 작업을 할 때 많이 사용함

Exception 클래스

Exception

  • 예외 담당 클래스
  • 어떤 예외가 발생했는지 정보를 알 수 있음

raise

  • 강제로 예외를 발생시킬 수 있음

사용자 Exception 클래스

  • Exception 클래스를 상속해서 사용자 예외 클래스를 만들 수 있음

  • 만든 사용자 예외 클래스를 raise와 함께 사용 가능

    class 사용자예외클래스명(Exception):
      	
        def __init__(self, n):
          	super().__init__(f'{n}은 사용할 수 없습니다.')

텍스트 파일

기본함수

  • open(), read(), write(), close()를 활용하여 텍스트파일을 다룰 수 있음
  • 파일을 열고 -> 읽거나 쓰고 -> 닫는 순서

파일 쓰기

  • file = open(경로, 'w'): 파일이 있으면 덮어씌움
  • file = open(경로, 'a'): 파일이 있으면 덧붙임
  • file = open(경로, 'x'): 파일이 있으면 에러 발생
  • file.write('내용')을 활용하여 내용 작성

파일 읽기

  • file = open(경로, 'r')
  • context = file.read()

with ~ as

  • 파일 닫기(close())를 생략할 수 있음

    with open(경로, 모드) as f:
      	실행문
        
    # with 구문을 빠져나오면 파일이 자동으로 닫힘

writelines()

  • 반복 가능한 자료형의 데이터를 파일에 쓸 때 사용

  • for 반복문 + write()를 사용한 것과 같은 효과를 줌

    languages = ['python', 'java', 'javascript']
    
    with open(uri + 'languages.txt', 'a') as f:
      	f.writelines(item + '\n' for item in languages)
    		
        # or
        
        for language in languagess:
          	f.write(language)
            f.write('\n')

readlines()

  • 파일의 모든 데이터를 읽어서 리스트 형태로 반환함
  • 줄단위로 하나의 원소가 됨

readline()

  • 파일의 데이터를 한 줄씩 읽음
  • 실행할 때마다 다음 줄로 이동

0개의 댓글