파이썬에서 예회 처리하는 법
try:
<예외 발생 가능 코드>
except < exception type>
예외 발생시 대응하는 코드
for i in range(10):
try:
print(10/i)
except ZeroDivisionError: #0으로 숫자를 나눌때 실행
print("Not divided by 0")
파이썬 bulit in Exception
raise <Exception>("출력문")
while True:
value = input("변환할 정수 값을 입력해주세요: ")
for digit in value:
if digit not in "0123456789":
raise ValueError("숫자 값을 입력하지 않았습니다.")
print("정수값으로 변환된 숫자: ",int(value))
def get_bibary_number(decimal_number):
assert isinstance(decimal_number,int) #false이면 프로그램 종료
return bin(decimal_number)
print(get_bibary_number(10))
print(get_bibary_number("a"))
프로그램이 실행 되는 동안 일어나는 정보 기록을 남기는것, 기록된 로그를 분석하여 의미 있는 결과를 도출할 수 있음
기록을 print를 이용해 콘솔에 남기는 것도 가능 하다.
그러나 콘솔 창에만 남기는 기록은 분석시 사용 불가능하기 때문에 기록을 남길 필요가 있음.
logging.debug("틀렸잖아")#개발시 처리 기록을 남겨야하는 정보
logging.info("확인해")#처리가 진행괴는 동안의 정보
logging.warning("조심해")#사용자가 의도치 않은 정보를 입력할때
logging.error("에러났어")#잘못된 처리로 인한 에러(프로그램 동작 가능)
logging.critical("망했다") # 잘못된 처리로 데이터 손실이나 프로그램 동작 불가를 알림
파일: 컴퓨터에서 정보를 저장하느 논리적인 단위, 실행/쓰기/읽기 등을 할 수 있음
디렉토리: 폴더 또는 디렉토리로 불림,폴더 또는 파일을 포함할 수 있음
binary file | Text file |
---|---|
- 컴퓨터만 이해할수 있는 이진법으로 저장된 파일 | - 인간도 이해할 수 있는 문자열 형식 |
- 일반적으로 메모장으로 열면 깨져 보임 | - 메모장으로 열면 내용 확인 가능 |
- 엑셀,위드 파일 등 | - 프로그램 코드, 텍스트 파일, html 파일 |
line_counter = 0 #파일의 총 줄 수를 세는 변수
data_header = [] #data의 필드값(feature)을 저장하는 list
customer_list = [] #customer 개별 list를 저장하는 list
with open("customers.csv") as customer_data: #customer.csv 파일을 customer_data객체에 저장
while True:
data = customer_data.readline() #customer.csv에 한줄씩 data변수에 저장
if not data: break
if line_counter == 0:
data_header = data.split(",")
else:
customer_list.append(data.split(","))
line_counter += 1
메모리에 있는 파이썬의 객체를 영속화하는 built_in 객체,데이터/object 등실행중 정보를 저장,계산해야하는 정보 계산결과(모델)등 많이 활용
import pickle
#저장
f = open("list.pickle",'wb') #list.pickle파일을 쓰기 목적으로 생성
test = [1,2,3,4,5] #데이터 생성
pickle.dump(test,f) # 데이터를 저장
f.close()
#불러오기
f = open("list.pickle","rb")
test_pickle = pickle.load(f)
print(test_pickle)
f.close()
pickle을 이용하면 데이터 뿐만 아니라 객체도 저장할 수 있다
class Add():
def __init__(self,adder):
self.adder = adder
def add(self,number):
return number + self.adder
adder = Add(10)
adder.add(14)
f = open("add_object.pickle","wb")
pickle.dump(adder,f)
f.close()
f = open("add_object.pickle","rb")
a = pickle.load(f)
a.add(5)