티스토리 뷰
"파이썬 모듈과 패키지 - 파이썬 배우기(Python)" 에 이은 포스팅입니다. 파이썬의 내장 라이브러리 모듈은 다양한 분야에 걸쳐서 충분한 테스트를 거친 좋은 코드임에도 불구하고 이를 모르거나 접해 보지 못하면 이미 만들어져 있는 훌륭한 코드가 있음에도 불구하고 똑같은 또는 유사한 기능을 다시 코딩하는 우를 범할 수 있습니다. 본격적인 파이썬 프로그래밍에 앞서 구현하려는 기능이 파이썬 라이브러리 모듈에 있는지 꼭 확인해 볼 필요가 있습니다. 이미 잘 만들어 놓은 라이브러리를 최대한 활용해서 효율적이고 효과적인 프로그래밍을 누려 보세요.
파이썬의 내장 라이브러리 모듈은 모듈 단위의 문서화 자료를 참조해도 되고 import 모듈명 이후에 help(모듈명)하면 자세한 설명을 확인할 수 있습니다. 아래는 re 모듈에 대한 help중 일부 입니다.
>>> import re
>>> help (re)
Help on module re:
NAME
re - Support for regular expressions (RE).
FILE
d:\python27\lib\re.py
DESCRIPTION
This module provides regular expression matching operations similar to
those found in Perl. It supports both 8-bit and Unicode strings; both
the pattern and the strings being processed can contain null bytes and
characters outside the US ASCII range.
Regular expressions can contain both special and ordinary characters.
Most ordinary characters, like "A", "a", or "0", are the simplest
regular expressions; they simply match themselves. You can
concatenate ordinary characters, so last matches the string 'last'.
The special characters are:
"." Matches any character except a newline.
"^" Matches the start of the string.
"$" Matches the end of the string or just before the newline at
the end of the string.
"*" Matches 0 or more (greedy) repetitions of the preceding RE.
Greedy means that it will match as many repetitions as possible.
"+" Matches 1 or more (greedy) repetitions of the preceding RE.
"?" Matches 0 or 1 (greedy) of the preceding RE.
■ 스트링 관련 모듈
re
스트링을 효과적으로 분석 및 처리할 수 있는 정규식 관련 모듈struct
C언어 API를 사용할 수 있도록 돕는 모듈로 C언어 struct 오브젝트를 다루고 이를 통해 바이너리 형태의 파일을 처리할 수 있도록 해 줍니다.difflib
파일비교 관련 모듈로 유닉스의 diff, 윈도우의 COMP와 유사한 알고리즘을 갖습니다.StringIO, cStringIO
파일 처럼 읽고 쓸수 있는 오브젝트를 제공 합니다. cStringIO는 속도를 위해 C언어로 구현된 것입니다.textwrap
word-wrapping등 텍스트 처리를 수행.codecs
텍스트 인코딩 관련 모듈
■ 데이터 타입 관련 모듈
datetime
달력 및 시간, 일자 관련 작업을 다룹니다.calendar
달력 출력과 윤달 검사, 주단위 시작/종료일 추출등 작업collections
스택과 큐로 모두 활용할 수 있는 deque와 defaultdict 라는 키가 없으면 기본값을 돌려주는 또다른 사전 타입을 제공bisect
정렬된 리스트 관리를 위한 함수로 항목 추가를 위한 insort와 검색을 위한 bisect 함수를 제공하여 별도의 정렬이 필요없도록 합니다.array
이미지나 음성 파일을 처리할때 유용하도록 리스트나 튜플보다 융통성을 떨어지지만 고속, 저용량의 특성으로 배열을 제공 합니다sched
단순한 작업 스케쥴러 관련 모듈.copy
복잡한 오브젝트의 복사본을 생성 합니다. 파이썬의 대입문은 단순 참조로 참조가 아닌 새로운 오브젝트 생성을 목표할 때 사용 합니다.pprint
내포한 리스트나 사전 오브젝트를 보기 쉽도록 출력 합니다.sets
임의의 집합을 다룰때 사용
■ 수학 함수 및 기타 숫자 모듈
decimal
통화 금액 계산과 관련한 연산, 함수 지원math
다양한 수학 함수 지원random
난수 발생기 관련
■ 인터넷 데이터 처리 모듈
mimify
메일 메시지의 QP(quoted-printable) 인코딩 및 디코딩 처리.base64
RFC 3548 Base16, Base32, Base64를 처리binascii
바이너리 데이터와 ASCII간의 변환binhex
맥용 binhex의 압축 및 해제quopri
스트링의 QP(quoted-printable) 인코딩 및 디코딩 처리uu
UUencode, UUdecode 지원
■ 마크업 처리 모듈
htmllib
HTML을 분석하기 위한 모듈sgmllib
SGML을 분석하기 위한 모듈로 HTML에서 텍스트, 링크, 제목등의 원소를 추출하는데 사용 할 수 있습니다.xml.sax, xml.dom, xml.dom.minidom
XML을 분석하기 위한 모듈로 SAX파서 또는 DOM파서를 선택하여 사용 할 수 있습니다.formatter
HTML, XML 및 기타 형식으로 출력 할 때 사용 합니다.
■ 파일 형식 관련 모듈
csv
CSV(Comma Separated Value) 파일을 읽거나 내보낼 때 사용ConfigParser
윈도우의 *.ini같은 환경 파일을 다룰수 있도록 합니다
■ 암호 처리 모듈
hashlib
다양한 해시 함수 제공hmac
RFC 2104의 HMAC 알고리즘 지원md5
MD5 해시 제공sha
SHA1 해시 제공
■ 파일 및 디렉토리 처리 모듈
os, os.path
운영 체제에 무관하게 운영체제의 기본적인 기능들을 다룰 수 있도록 해 줍니다.fileinput
대량의 파일을 쉽고 단순하게 사용할 수 있도록 해 줍니다.glob, fnmatch
윈도우의 와일드카드 경로 지정을 운영체제에 관계없이 사용할 수 있도록 합니다.shutil
쉘환경에서 파일 복사, 이름 변경 등의 작업을 하는 것처럼 기능을 제공 합니다.
■ 압축 및 보관 처리 모듈
tarfile, zipfile
여러 파일을 묶을 수 있도록 기능 제공zlib, gzip, bz2
압축 및 해제 처리
■ 자료 보존 처리 모듈
pickle, shelve
파이썬 오브젝트를 일회용이 아니라 지속적으로 사용할 수 있게 해주는 것으로 pickle은 serialize기법을 사용하고 shelve는 dbm 데이터베이스를 활용 합니다.sqlite3
SQLite DB에 접근할 수 있도록 기능 제공
■ 운영체제 및 런타임 관련 모듈
os, os.path
파일, 프로세스, 디렉토리등 다양한 운영체제 기능을 접근할 수 있도록 합니다.time
시간과 일자 처리를 위한 함수 제공getopt, optparse
명령행의 옵션을 분석할 수 있는 기능 제공logging
디버깅 및 오류로그를 남길 수 있도록 기능 제공cmd
프롬프트를 출력하고, 명령을 받고, 도움말이나 이전 명령을 보여주는 등의 기능을 제공shlex
쉘 프로그램처럼 입력을 받아 내용을 분석할 때 사용sys
프로그램 실행 환경과 관련한 정보등을 제공 합니다.profile
파이썬 코드의 성능 검사(Profile)를 위한 기능을 제공 합니다.pydoc
파이썬 문서화 자료를 HTML이나 텍스트로 생성 합니다.unittest
Unit test를 지원 합니다.
■ 인터넷 프로토콜 처리 모듈
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 클라이언트를 구현할 수 있게 합니다.
'프로그래밍' 카테고리의 다른 글
항상 보여지는 창 만들기 - C# (0) | 2019.12.18 |
---|---|
프로그램의 설치와 배포 - 파이썬 배우기(Python) (0) | 2019.03.22 |
파이썬 모듈과 패키지 - 파이썬 배우기(Python) (0) | 2019.03.22 |
파이썬 클래스 2 - 파이썬 배우기(Python) (0) | 2019.03.21 |
파이썬 클래스 1 - 파이썬 배우기(Python) (0) | 2019.03.21 |