본문 바로가기
코리아 IT아카데미/python 인터넷 강의

ddazua | 29강 사용자 예외 처리, 파일 입출력

by Sharon kim 2021. 10. 4.

day29>myExceptionTest.py

# %% my Exception

class NickNameError(Exception):
    pass


def checNickName(name):
    if name == "바보":
        raise NickNameError


nickname = input("닉네임:")

try:
    checNickName(nickname)
    print("닉네임 생성 성공!")
except NickNameError:
    print("비속어는 사용할 수 없습니다.")

# %% my exception task

# 외부에서 채팅 문자열을 받아와서 in으로 비속어 검사를 한다.
# 비속어는 바보, 멍청이, 똥개이다.
# 사용자 예외처리로 선언하여 만든다. 비속어가 없다면
# 채팅 메세지를 출력한다.
class BadWordError(Exception):
    pass

chat = ""

def checkChatting(temp) :
    badWords = ["바보","멍청","똥개"]
    for i in badWords:
        if i in temp:
            global chat
            chat = temp.replace(i, "**")
            raise BadWordError()

cnt = 0
while True:
    chat = input("채팅[나가기:q] : ")
    if chat.lower() == 'q':
        break

    try:
        checkChatting(chat)
        print(chat)
    except BadWordError:
        cnt += 1
        print(f"{cnt}회 비속어를 사용하셨습니다.")
        print(chat)

'''파일 입출력
                파일객체 = open("경로","목적")
                
                목적
                -w : 해당 경로 내용 덮어쓰기(기존 내용 삭제, 해당 경로에 파일이 없으면 생성)
                -a : 해당 경로 내용 추가하기(기존 내용 유지, 해당 경로에 파일이 없으면 생성)
                -r : 해당 경로 내용 읽기(해당 경로에 파일이 없으면 오류)
                
                출력하기 
                        파일 객체.write("문자열")
                입력하기
                        파일 객체.readlines()
                close():버퍼를 비워주어야 파일에 적용된다.
                        반드시 작업이 끝나면 파일 객체명.close()를 사용한다.
'''
#fileTest.py
#절대 경로: 내 위치가 어디든 찾아갈 수 있는 경로
#상대 경로: 내 위치에 따라 경로가 변경된다.
# . : 현재위치
# ..:이전 폴더

# name_file = open("name.txt", 'a')
# name_file.write("한동석\n")
# name_file.close()

name_file = open("name.txt", 'r')
for i in name_file.readlines():
    print(i, end="")

'코리아 IT아카데미 > python 인터넷 강의' 카테고리의 다른 글

ddazua | 교안  (0) 2021.10.04
ddazua | 28강 상속 예제, 예외 처리  (0) 2021.10.04
ddazua | 27강 상속  (0) 2021.10.04
ddazua | 26강 클래스 예제  (0) 2021.10.04
ddazua | 25강 클래스 이론  (0) 2021.10.04