Python을 사용할 때 유용하게 쓸 라이브러리를 모아보았다.
텍스트 처리할 때 📑
- 일반적인 문자열 조작하기 - str, string
- 정규 표현 다루기 - re
- Unicode 데이터베이스에 접근하기 - unicodedata
수치, 수학관련 🧮
- 기본적인 수치 계산 - 내장 함수, math
- 고정소수점형 계산하기 - decimal
- 의사 난수 다루기 - random
- 통계 계산 - statistics
- Numpy, Pandas, Scipy
날짜와 시각 ⌚
- 날짜와 시간 다루기 - datetime
- 시각 다루기 - time
- datetime의 강력한 확장 모듈 - dateutil
- 전 세계 표준시간대 정보 다루기 - pytz
자료형과 알고리즘 🗄️
- 다양한 컨테너이너형 다루기 - collections
- 힙과 큐 - heapq
- 이진 탐색기 - bisect
- 수치 배열을 효율적으로 다루기 - array
- 약한 참조를 통한 객체 관리 - weakref
- 열거형으로 상수 정의하기 - enum
- 데이터를 읽기 쉬운 형식으로 출력하기 - pprint
- iterator - itertools
OS/런타임 서비스 🖥️
- 운영체제의 기능 이용하기 - os
- 스트림 다루기 - io
- 인터프리터 관련 정보를 얻고 조작하기 - sys
- 명령줄 옵션과 인수 다루기 - argparse
파일과 디렉터리 접근하기 📁
- 파일 경로 조작하기 - os.path
- 직관적으로 파일 경로 조작하기 - pathlib
- 임시 파일과 디렉터리 만들기 - tempfile
- 파일 이름 매치와 경로 패턴 풀기 - fnmatch, glob
- 고급 파일 조작 - shutil
데이터 압축과 아카이브 🗜️
- zlib 라이브러리로 데이터 압축하기 - zlib
- gzip 압축 파일 다루기 - gzip
- bzip2 압축 파일 다루기 - bz2
- lzma 압축 파일 다루기 - lzma
- zip 파일 다루기 - zipfile
- tar 파일 다루기 - tarfile
특정 데이터 포맷 다루기 💽
- CSV 파일 다루기 - csv
- INI 파일 다루기 - configparser
- YAML 다루기 - PyYAML
- JSON 다루기 - json
- Excel 다루기 - openpyxl
- 이미지 다루기 - Pillow
인터넷상의 데이터 다루기 🌐
- URL 파싱 - urllib.parse
- URL 열기 - urllib.request
- HTTP 클라이언트 - requests
- Base16, Base64 등으로 인코딩 - base64
- 이메일 데이터 다루기 - email
HTML과 XML 다루기 📄
- XML 해석하기 - xml.etree.ElementTree
- XML/HTML을 조금 더 편하게 - lxml
- HTML parser의 대표 - beautifulsoup4
테스트와 디버깅 🐞
- 문서 생성과 온라인 도움말 시스템 - pydoc
- 대화형 실행 예 테스트 - doctest
- 단위 테스트 프레임워크 이용하기 - unittest
- mock을 이용한 단위 테스트 - unittest.mock
- 대화 모드 디버깅하기 - pdb
- 코드의 실행 시간을 측정하기 - timeit
- 더 높은 수준의 unittest 기능 이용하기 - pytest
- 스택 트레이스 다루기 - traceback
- 로그 출력하기 - logging
암호 관련 🔑
- 다양한 암호화 다루기 - PyCrypto
- SSH 프로토콜 다루기 - paramiko
병렬처리 🍥
- 복잡한 프로세스를 생성하여 병렬처리하기 - multiprocessing
- 서브 프로세스 관리하기 - subprocess