본문 바로가기

파이썬23

6주차, 정규식 실습 Import re p = re.compile('a.b') # 첫번째가 a고, 두번째는 \n, 줄바꿈을 제외한 모든 문자가 와도 되고 세번째가 # b인 문자열 매치 re.match(p, 'a\tb') # 매치가 됨 p.match('a\tb') # 위에 거랑 같은 매치 됨 만약 성과 주민번호를 받고, 뒷자리를 *로 표기하고 싶다면 import re data = """ park 800423-6123456 im 940305-5293848 """ p = re.compile("(\d{6})[-]\d{7}") print(p.sub("\g-*******", data)) // park 800423-******* im 940305-******* 이 때 \g는 ()쳐진 패턴의 첫번째를 의미한다. 패턴.sub("대체할 문자열.. 2022. 1. 31.
6주차, 정규식 정규식이 필요한 이유는 복잡한 코드 안에서 원하는 정보면 걸러내기 위해서이다. 정규식이란 ・ 특정한 규칙을 가진 문자의 집합을 표현할 때 사용하는 언어 ・ 문자열에서 특정한 조건을 만족하는 경우를 걸러낼 때, 일반적인 조건문으로는 다소 복잡할 수도 있지만, 정규 표현식을 이용하면 매우 간단 ・ 파이썬에서만 쓰이는 것이 아닌 general한 방식의 언어이기에 익혀두면 다른 언어에서도 도움 됨 ・ 파이썬에서 정규식은 re 모듈이 제공 정규식 문자 설명 * 0회 이상의 반복 + 1회 이상의 반복 ? 0이나 1회 반복 {m} m회 반복을 허용 {m,n} m회부터 n회까지 반복 허용 re.match('찾을 문자 정규식', '문자열') re.search re.match('y*t', 'python') # y는 있든 .. 2022. 1. 29.
6주차, 파이썬 db 일단 pip 설치 anaconda prompt를 통해 필요한 라이브러리 설치 pip install pymysql or conda install pymysql // pip는 라이브러리를 pypi에서 받는다. 파이썬의 대부분의 라이브러리는 pipy에 저장돼있다. // 사용자가 저기다 등록하고 승인되면 저기서 받을 수 있음 그리고 쟤들이 승인했으니 // 비교적 안전함, 근데 완벽하진 않음 conda install sqlalchemy # db에 접속하기 위한 통합 라이브러리 import sqlalchemy engine = sqlalchemy.create_engine('sqlite:///test.sqlite') conn = engine.connect() conn.execute('CREATE TABLE test (.. 2022. 1. 29.
6주차, 쓰레드, 멀티 프로세스 활용 윈도우즈에선 멀티 프로세싱을 할때 에러가 나거나 불안정해지는 경우가 많다. 그래서 개발자는 맥이나 리눅스 쓴다. 그리고 멀티 프로세싱할 때 마지막에 꼭 close 해라, 작업관리자 켜보면 안닫은 거 전부 메모리 차지하고 있음 import time, os import multiprocessing import Pool def func(x): return x[0] * x[1] if __name__ == "__main__": start = time.time() num_pool = 2 pool = Pool(num_pool) print(pool, map(func, zip(range(100), range(100))) # [[0, 0], [1, 1], [2, 2]....] 형태로 제네레이터 pool.close() pr.. 2022. 1. 29.