반응형
파이썬의 예외 처리와 파일 및 로그 다루기
1) try~except 문법
try:
예외 발생 가능 코드
except <Exception Type>:
예외 발생시 대응하는 코드
finally:
예외 상관없이 실행되는 코드
예외처리할때 에러타입을 적어주는 것이 좋다.
적어주지 않고 전체처리하면 다른사용자가 보기 이해하기에 어렵다
파일이 비어있는 경우
2) raise 구문
필요에 따라 강제로 expcetion 발생
잘못된 값을 입력했을때 다른 리소스를 잡아먹지 않게하기 위해 raise를 발생시켜 사전에 차단
3) assert 구문
특정 조건에 만족하지 않을 경우 예외 발생
assert 뒤에는 True나 False가 나오게 하고False가 나오면 예외처리
4) 파일의 종류
text 파일
문자열 형식으로 저장된 파일
메모장으로 열면 확인 가능 또는 HTML 파일
binary 파일
이진법 형식으로 저장된 파일
일반적 메모장으로 열면 내용이 깨짐
엑셀파일, 워드파일 등등
file I/O
파이썬은 파일 처리를 위해 “open” 키워드를 사용함
f = open(”<파일이름>”, “<접근 모드”>)
f.close()
파일열기모드
“r” : 읽기모드 , f.read() / f.readlines()
“w” : 쓰기모드 , f.write() 갱신되어 글 작성
“a” : 추가모드 ,f.write() 갱신되지않고 그냥 추가함
5) OS module
import os
- os.mkdir("log”) : log 파일 생성
import shutil
import pathlib
- pathlib.Path.cwd() : 현재 디렉토리 불러오기
pickle
- 파이썬의 객체를 영속화하는 built-in 객체
- 데이터, object 등 실행중 정보를 저장 → 불러와서 사용
6) logging 모듈
- 기록을 남길수 있는 모듈.
- debug, info, warning, error, critical와 같은 명령어가 있음
- basicConfig를 사용하여 시작할 위치를 설정가능
configparser - 파일에
- 프로그램의 실행 설정을 파일에 저장함
argparser - 실행시점에
- 콘솔창에서 프로그램 실행시 설정 정보를 저장함
- 거의 모든 콘솔 기반 파이썬 프로그램에서 사용
logginf formatter
- log의 결과값의 format을 지정해줄 수 있음
- logging.conf 환경설정 파일에 formatter로 저장함
5. csv, 웹(html), xml, json
CSV(comma separate value)
- 엑셀 양식의 데이터를 프로그램에 상관없기 쓰기 위한 데이터 형식
- 탭(TSV), 빈칸(SSV) 등으로 구분해서 만들기도 함
Attribute
delimeter : 글자를 나누는 기준
lineterminator : 줄 바꿈 기준
quotechar : 문자열을 둘러싸는 신호 문자
quoting = 데이터 나누는 기준이 quotechar에 의해 둘러싸인 레벨
csv에서 알아둘 것
encoding : cp949로 해보고 안되면 utf-8로
delimeter 뭘로 나눌지 알아둘것
Web
- world wide web 줄여서 웹
- 우리가 늘 쓰는 인터넷 공간의 정식 명칭
동작방식
- 요청(웹주소, form, header 등) → 2. 처리(Database 처리 등 요청 대응) → 3.응답(HTML,XML 등으로 결과반환) → 4. 렌더링(HTML,XML표시)
HTML
- 웹 상의 정보를 구조적으로 표현하기 위한 언어
- 제목, 단락, 링크 등 요소 표시를 위해 Tag를 사용
정규표현식(regex)
- 복잡한 문자열 패턴을 정의하는 문자 표현 공식
- 문법 자체는 매우 방대, 스스로 찾아서 하는 공부 필요
- 정규식 연습장(http://www.regexr.com/)
- 문자 클래스 [ ] : [ 와 ] 사이의 문자들과 매치
- “-”를 사용하여 범위를 지정할 수 있음
정규식 in 파이썬
- re 모듈을 import 하여 사용 :import re
- 함수:search 한 개만 찾기,findall 전체 찾기
- 추출된 패턴은 tuple로 반환됨
XML이란
- 데이터의 구조와 의미를 설명하는 TAG(MarkUp)를 사용하여 표시하는 언어
- HTML과 문법이 비슷,대표적인 데이터 저장 방식
- 정보의 구조에 대한 정보인 스키마와 DTD등으로 정보에 대한 정보(메타정보)가 표현되며,용도에 따라 다양한 형태로 변경가능
- XML은 컴퓨터(예:PC↔ 스마트폰)간에 정보를 주고받기 매우 유용한 저장 방식으로 쓰이고 있음
- XML도 HTML과 같이 구조적 markup 언어
- 정규표현식으로 Parsing이 가능함
- 그러나 좀 더 손쉬운 도구들이 개발되어 있음
- 가장 많이 쓰이는 parser인 beautifulsoup으로 파싱
BeautifulSoup
- HTML,XML등 Markup 언어 Scraping을 위한 대표적인 도구
- lxml 과 html5lib과 같은 Parser를 사용함
- 속도는 상대적으로 느리나 간편히 사용할 수 있음
모듈사용
- 모듈 호출
- from bs4 import BeautifulSoup
JavaScript Object Notation
JSON
- JavaScript Object Notation
- 원래 웹 언어인 Java Script의 데이터 객체 표현 방식
- 간결성으로 기계/인간이 모두 이해하기 편함
- 데이터 용량이 적고,Code로의 전환이 쉬움
- 이로 인해 XML의 대체제로 많이 활용되고 있음
JSON in Python
- json 모듈을 사용하여 손 쉽게 파싱 및 저장 가능
- 데이터 저장 및 읽기는 dict type과 상호 호환 가능
- 웹에서 제공하는 API는 대부분 정보 교환 시 JSON활용
- 페이스북,트위터,Github 등 거의 모든 사이트
- 각 사이트 마다 Developer API의 활용법을 찾아 사용
반응형
'Study > AI' 카테고리의 다른 글
[Math] 벡터와 행렬 (0) | 2023.03.12 |
---|---|
[AI] 넘파이와 판다스 (1) | 2023.03.12 |
[Python] 객체 지향, 모듈 및 패키지 (0) | 2023.03.12 |
[Python] 파이썬의 기초문법 (0) | 2023.03.12 |
[Python] 파이썬 개요와 환경설정 (0) | 2023.03.12 |