■ 파이썬에서 유용한 모듈을 보여준다.
▶ 문자열 처리 모듈
1 2 3 4 5 6 7 8 |
re : 문자열을 효과적으로 분석 및 처리할 수 있는 정규식 모듈 struct : C 언어 API를 사용할 수 있도록 지원하고 모듈로 C언어 struct 객체를 다루고 이를 통해 바이너리 형태의 파일을 처리한다. difflib : 파일 비교 모듈로 유닉스의 diff, 윈도우의 COMP와 유사한 알고리즘을 갖는다. StringIO, cStringIO : 파일처럼 읽고 쓸 수 있는 객체를 제공한다. cStringIO는 속도를 위해 C 언어로 구현된 것이다. textwrap : word-wrapping등 텍스트 처리를 수행한다. codecs : 텍스트 인코딩 모듈 |
▶ 데이터 타입 처리 모듈
1 2 3 4 5 6 7 8 9 10 11 |
datetime : 달력 및 시간, 일자 작업을 처리한다. calendar : 달력 출력과 윤달 검사, 주단위 시작/종료일 추출 등을 작업한다. collections : 스택과 큐로 모두 활용할 수 있는 deque와 defaultdict라는 키가 없으면 기본값을 돌려주는 또 다른 딕셔너리 타입을 제공한다. bisect : 정렬된 리스트를 관리하기 위한 함수로 항목 추가를 위한 insort와 검색을 위한 bisect 함수를 제공하여 별도의 정렬이 필요없도록 한다. array : 이미지나 음성 파일을 처리할 때 유용하도록 리스트나 튜플보다 융통성은 떨어지지만 고속, 저용량의 특성으로 배열을 제공한다 sched : 단순한 작업 스케쥴러 모듈이다. copy : 복잡한 오브젝트의 복사본을 생성한다. 파이썬의 대입문은 단순 참조로 참조가 아닌 새로운 객체를 생성할 때 사용한다. pprint : 내포한 리스트나 딕셔너리 객체를 보기 쉽도록 출력한다. sets : 임의의 집합을 처리할 때 사용한다. |
▶ 수학 함수 및 기타 숫자 처리 모듈
1 2 3 4 5 |
decimal : 통화 금액 계산과 관련한 연산 및 함수를 지원한다. math : 다양한 수학 함수를 지원한다. random : 난수 발생기 지원한다. |
▶ 인터넷 데이터 처리 모듈
1 2 3 4 5 6 7 8 |
mimify : 메일 메시지의 QP(quoted-printable) 인코딩 및 디코딩을 처리한다. mime_decode_header, mime_encode_header, mimify, unmimify base64 : RFC 3548 Base16, Base32, Base64를 처리한다. binascii : 바이너리 데이터와 ASCII간의 변환을 지원한다. binhex : 맥용 binhex의 압축 및 해제를 지원한다. quopri : 문자열의 QP(quoted-printable) 인코딩 및 디코딩을 처리한다. uu : UUencode, UUdecode를 지원한다. |
▶ 마크업 처리 모듈
1 2 3 4 5 6 |
htmllib : HTML을 분석하기 위한 모듈이다. sgmllib : SGML을 분석하기 위한 모듈로써 HTML에서 텍스트, 링크, 제목 등의 엘리먼트를 추출하는데 사용할 수 있다. xml.sax, xml.dom, xml.dom.minidom : XML을 분석하기 위한 모듈로 SAX 파서 또는 DOM 파서를 선택하여 사용할 수 있다. formatter : HTML, XML 및 기타 형식으로 출력할 때 사용한다. |
▶ 파일 형식 처리 모듈
1 2 3 4 |
csv : CSV(Comma Separated Value) 파일을 읽거나 내보낼 때 사용한다. ConfigParser : 윈도우의 *.ini같은 환경 파일을 다룰 수 있도록 한다 |
▶ 암호 처리 모듈
1 2 3 4 5 6 |
hashlib : 다양한 해시 함수를 제공한다. hmac : RFC 2104 HMAC 알고리즘을 지원한다. md5 : MD5 해시를 제공한다. sha : SHA1 해시를 제공한다. |
▶ 파일 및 디렉토리 처리 모듈
1 2 3 4 5 6 |
os, os.path : 운영체제에 관계없이 운영체제의 기본적인 기능들을 처리할 수 있도록 한다. fileinput : 대량의 파일을 쉽고 단순하게 사용할 수 있도록 해준다. glob, fnmatch : 윈도우의 와일드카드 경로 지정을 운영체제에 관계없이 사용할 수 있도록 한다. shutil : 쉘 환경에서 파일 복사, 이름 변경 등의 작업을 제공한다 |
▶ 압축 및 보관 처리 모듈
1 2 3 4 |
tarfile, zipfile : 여러 파일을 묶을 수 있도록 기능을 제공한다. zlib, gzip, bz2 : 압축 및 해제 처리를 지원한다. |
▶ 자료 보존 처리 모듈
1 2 3 4 |
pickle, shelve : 파이썬 객체를 지속적으로 사용할 수 있게 해주는 것으로 pickle은 직렬화 기법을 사용하고 shelve는 dbm 데이터베이스를 활용한다. sqlite3 : SQLite DB에 접근하는 기능을 제공한다. |
▶ 운영체제 및 런타임 처리 모듈
1 2 3 4 5 6 7 8 9 10 11 12 |
os, os.path : 파일, 프로세스, 디렉토리 등 다양한 운영체제 기능을 접근할 수 있도록 한다. time : 시간과 일자 처리를 위한 함수를 제공한다. getopt, optparse : 명령행의 옵션을 분석할 수 있는 기능을 제공한다. logging : 디버깅 및 오류 로그를 남길 수 있도록 기능을 제공한다. cmd : 프롬프트를 출력하고, 명령을 입력받고, 도움말이나 이전 명령을 보여주는 등의 기능을 제공한다. shlex : 쉘 프로그램처럼 입력을 받아 내용을 분석할 때 사용한다. sys : 프로그램 실행 환경과 관련한 정보 등을 제공한다. profile : 파이썬 코드의 성능 검사(Profile)를 위한 기능을 제공한다. pydoc : 파이썬 문서화 자료를 HTML이나 텍스트로 생성한다. unittest : 단위 테스트를 지원한다. |
▶ 인터넷 프로토콜 처리 모듈
1 2 3 4 5 6 7 8 9 10 11 |
cgi : 웹서 cgi-bin에서 파이썬으로 웹 응용을 작성할 수 있도록 돕는다. urllib, urllib2, urlparse : httplib 등과 연동하여 URL을 열고 HTML, XML결과를 파싱한다. httplib, ftplib, gopherlib : HTTP, FTP 프로토콜 클라이언트를 사용할 수 있도록 한다. poplib, imaplib : 메일을 읽기 위한 POP3 및 IMAP 프로토콜을 사용할 수 있게 한다. nntplib : 뉴스 그룹, NNTP 서버를 읽을 수 있게 한다. SocketServer : 독립형 TCP 또는 UDP 서버를 손쉽게 제작할 수 있도록 한다. SimpleHTTPServer, CGIHTPPServer, BaseHTTPServer : 간단한 웹 서버를 구축할 수 있도록 해준다. asyncore, asynchat : 시분할 응용을 만들 수 있도록 해준다. smtplib : 메일 전송을 위한 SMTP/ESMTP 클라이언트를 구현할 수 있게 한다. |