티스토리 뷰



"파이썬 모듈과 패키지 - 파이썬 배우기(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 클라이언트를 구현할 수 있게 합니다.






댓글
댓글쓰기 폼