유용한 파이썬 라이브러리 모듈

아래내용은 좋은 글이 있어서 퍼온글입니다.

 

유용한 파이썬 라이브러리 모듈

##########################

파이썬의 내장 라이브러리 모듈은 다양한 분야에 걸쳐서 충분한 테스트를 거친 좋은 코드임에도 불구하고 많은 프로그래머가 이를 모르거나 무시하면서 똑같은 또는 유사한 기능을 다시 코딩하는 우를 범하는 경우가 많다. 본격적인 프로그래밍에 앞서 구현하려는 기능이 파이썬 라이브러리 모듈에 있는지 꼭 확인해 볼 필요가 있다. 이미 안정적으로 만들어 놓은 기능을 또다시 개발하지 말고 라이브러리를 최대한 활용해 보자.
모듈 단위의 문서화 자료를 참조해도 되고 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) 인코딩 및 디코딩 처리. 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 지원

– 마크업 처리 모듈

  • 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 클라이언트를 구현할 수 있게 한다.

 

출처 : http://agfree.cafe24.com/?p=862

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.