본문 바로가기

cs,코딩,알고리즘/네이버커넥트-인공지능기초다지기(2021)

AI BASIC 코치 강의_2주차(수업)2

728x90

File / Exception / Log Handling

프로그램할 사용할 때 흔히 일어나는 예상치 못한 일들을 어떻게 핸들해야하나!?

Exception

"예외가 발생할 경우 후속조치를 해야한다!"

exception은 (1)예상할 수 있는 예외와 (2)예상할 수 없는 예외로 나뉘는데,

=>주로 exception handling으로 처리

 

(종류) try ~except/ try~except~else/ try~except~finally 구문

(주의)range(10)은 0부터 9/ else

ZeroDivisionError은 파이썬 내부에 있는 빌트인 에러
=>exception이 발생하면 그에 대해 수행하고 다시 이어서 프로그래밍 진행

(정리)

에러가 발생하는 코드인 것 같으면 try~except구문, 정상적인 로직에 의해 구현되는 거면 if구문

 

(종류) raise구문

=>왜 굳이 강제로 exception을 만드는거지? 유포자 입장에서 사람들이 잘못 입력할 경우를 대비해서 

 

(종류) assert구문

 

File

"파일 읽고쓰기"

오른쪽이 binary파일!!

=>파이썬으로 바이너리 파일을 핸들링 하고자 한다!!

두가지의 방법으로 파일을 핸들할 수 있다.

with구문은  with 머시기 하는 동안 작동하고 끝나면 자동으로 exit(그냥 open하면 반드시 close해줘야한다)

 

read

.read()는 전체를 읽는거고/ .readlines()는 한줄식 읽어와서 리스트에 저장해준다(원하는 거 인덱싱해서 가져와)/ readline()은 한줄한줄씩 읽어오는 것

.readline은 한줄한줄씩 가져오는거라 끝날때 까지 실행해주는 whiletrue구문 사용

write/append

write는 이저넹 있던거 지우고 다시 쓰는 느낌/append는 원래 있던 거에 추가하는 것

왼쪽이 mode="w", 오른쪽이 mode="a"

pickle

객체는 메모리에 저장되어야 함. 여기서 영속화는 파일로 저장해주는 것을 말한다.

여기서 dump는 저장해랏..
바이너리함수니까 mode는 "rb"로 해줄 것!

Log Handling

주로 게임회사들이 hack을 쓰는 사람들때문에 기록하고자!!

개발,운영시점에서 프로그램의 상황을 기록한다

 

Python data handling

다양한 데이터 타입을 어떻게 다루는가

csv(Comma Separate Value)

데이터가 ","로 구분되어있다

엑셀의 텍스트 데이터 형식(엑셀 양식의 데이터를 쉽게 다루기 위해 쉼표로 분리)

일반적 textfile을 처리하듯 파일을 읽어온 후, 한줄한줄씩 데이터를 처리한다

csv파일(쉼표로 분리된 엑셀 텍스트파일)을 읽기 위한 csv 객체를 제공해주는데,

delimiter는 데이터를 자르는 기준 quotechar은 데이터를 싸메는 기준(얘를 기준으로 하나의 필드로 보세요)

encoding은 cp949나 utf8로 하고/ delimiter는 데이터를 자르는 기준/ quotechar은 데이터를 싸메는 기준

=>그러나 이 도구로 csv를 핸들링하진 않는다..(왓..)

웹(ft 정규표현식)

웹의 구조 스파르타에서 웹개발하느라 친숙해졌다

html을 분석하기 위한 정규표현식

(첨에 장혜령교수님이 정규표현식 가르쳐주실 때 이걸 어따 쓰노 이랬는데..)

http://www.regexr.com/ 연습할 수 있는 링크라고 한다...ㄷㄷ..

헐랭 신기방기...

구글의  특허사이트 소스코드에서 “Zip”로 끝나는 파일명만 추출

=>그래서 파이썬 정규식으로 어떻게 긁어올 것인가!?

예시1
예시2

실습: 홈페이지에서 얘를 어떻게 가져올까??

xml, eXtensible Markup Language(ft beautiful soup)

트리구조

xml도 html과 같이 구조적 언어(정규표현식으로 parsing이 가능해)-> beautifulsoup으로 parsing

html을 분석하기 위한 beautifulsoup

file을 String으로 읽어와서 lxml Parser를 사용해서 데이터 분석->author가 들어간 모든 element 추출

왼쪽은 xml파일 오른쪽은 beautifulsoup사용한 거
결과값

=>xml의 구조적인 정보를 좀 잘 알아야할 듯 싶다..

JaSON(JavaScript Object Notation)

간결하다

왼쪽은 xml, 오른쪽은 JaSON

 

마무리

영상들이 하나같이 쫀쫀하고 압축되어있는듯한 느낌.. 1초 놓치면 그냥 휘릴리리ㅣ릭... 다행히도? 들었던 내용들이 꽤 많아서 부담은 적지만,, 처음듣는 내용은 이게 뭐람..싶다.. 과제하면서 찾아보고 또 보면 괜찮아지겠지..?..

 

앞으로 이미지나 음성을 따올 때 꼭 필요한거지 않을까 싶네잉