표준 라이브러리(standard library)(2)
fnmatch
Unix-sytle Pattern Matching
유닉스 shell에서 사용되는 rule에 따라 특정 패턴과 일치하는 string을 찾음
fnmatch(text, pattern)
text가 pattern과 match하는지 Test (T/F)
대소문자 구분하지 않음(case-insensitive)
fnmatchcase(text, pattern)
- fnmatch와 유사하나, 대소문자를 구분함
filter(iterable, pattern)
- 패턴을 만족하는 iterable에 있는 요소들의 list를 반환
example
import fnmatch descs = ['My name is Lee and my E-mail is kim@google.com.', 'My name is Park and my e-mail address is Park@naver.com.'] print([fnmatch.fnmatch(desc, 'e-mail') for desc in descs]) # [False, False] print([fnmatch.fnmatch(desc, '*e-mail*') for desc in descs]) # [True, True] print([fnmatch.fnmatchcase(desc, '*e-mail*') for desc in descs]) # [False, True] print([fnmatch.fnmatchcase(desc, '*[Ee]-mail*') for desc in descs]) # [True, True] print(fnmatch.filter(descs, '*e-mail*')) # ['My ... Lee', 'My ... Park'] print(fnmatch.filter(descs, '*Pa?k*')) # ['My ... Park']
[Ee]는 E와 e 중 한 개의 문자와 매치함을 뜻하는데, 이 표현은 정규식 표현 중 한가지임
csv
CSV format(comma-separted values)에 표로 나타낸 데이터를 읽고 쓰는 class를 담고있다.
reader(file_obj, dialect='exce', **fmtparams)
- file_obj의 행에 접근할 수 있는 reader object를 return
writer(file_obj, dialect='exce', **fmtparams)
- user data를 file_obj에 컴마(,)로 구분된 문자열로 변환하여 쓰는 writer object 반환
example
import glob, csv files = glob.glob('workspace/data_??.csv') all_data = [] for file in files: with open(file, 'r') as f: csv_reader = csv.reader(f) data = [] for line in csv_reader: # ex) line = ['11', '45'] if line and not line[0].strip().startswith('#'): data.append([int(val) for val in line]) all_data = all_data + data
Python Standard Library, 그 이후
pre-built Python library를 설치해서 사용할 수 있음
pip install package_name
(pip3 install package name) --> mac OS
ex) pip3 install opencv-python
pip3 install numpy
tqdm
콘솔에 iteration의 진행상황을 시각화 해준다
example
from tqdm import tqdm
n = 1000000000
for i in tqdm(range(n)):
pass
참조) Do it! 점프 투 파이썬 (박응용 지음), https://wikidocs.net (파이썬 계단밟기)
'Programming Language > Python' 카테고리의 다른 글
[Python] 24. GUI(Graphic User Interface) - tkinter (0) | 2023.11.08 |
---|---|
[Python] 23. 정규 표현식(regular expression) (0) | 2023.11.07 |
[Python] 21. 표준 라이브러리(Standard Library)(1) (0) | 2023.11.07 |
[Python] 20. 내장 함수(Built-in-function) (0) | 2023.11.07 |
[Python] 19. 예외처리(Exception Handling) (0) | 2023.11.07 |