Python 標準函式庫 (Standard Library)¶
The Python Language Reference 說明 Python 這門語言確切的文法及語意,而這份函式庫參考手冊則是說明隨著 Python 一起發佈的標準函式庫,除此之外,其內容也包含一些時常出現在 Python 發佈版本中的非必要套件。
Python 的標準函式庫是非常龐大的,其提供了如下所述極多且涵蓋用途極廣的許多模組。包含一些用 C 語言撰寫,可以操作像是檔案讀寫等系統相關功能的內建模組,當然也有用 Python 撰寫,並使用標準解法解決許多常見問題的模組。其中有些模組則是特別針對 Python 的可攜性去設計的,為此特地將一些平台特殊相依性的功能抽象化成可跨平台的 API。
Python 的 Windows 安裝檔基本上包含整個標準函式庫,且通常也包含許多額外套件;而類 Unix 作業系統方面,Python 則提供一系列的套件,對於某些非必要性的套件,可能得使用該作業系統提供的套件管理工具來安裝。
In addition to the standard library, there is a growing collection of several thousand components (from individual programs and modules to packages and entire application development frameworks), available from the Python Package Index.
- 1. 簡介
- 2. 內建函式
- 3. Non-essential Built-in Functions
- 4. 內建常數
- 5. 內建型態
- 5.1. Truth Value Testing
- 5.2. Boolean Operations —
and
,or
,not
- 5.3. Comparisons
- 5.4. Numeric Types —
int
,float
,long
,complex
- 5.5. Iterator Types
- 5.6. Sequence Types —
str
,unicode
,list
,tuple
,bytearray
,buffer
,xrange
- 5.7. Set Types —
set
,frozenset
- 5.8. Mapping Types —
dict
- 5.9. File Objects
- 5.10. memoryview type
- 5.11. Context Manager Types
- 5.12. Other Built-in Types
- 5.13. Special Attributes
- 6. 內建的例外
- 7. String Services
- 7.1.
string
— Common string operations - 7.2.
re
— Regular expression operations - 7.3.
struct
— Interpret strings as packed binary data - 7.4.
difflib
— Helpers for computing deltas - 7.5.
StringIO
— Read and write strings as files - 7.6.
cStringIO
— Faster version ofStringIO
- 7.7.
textwrap
— Text wrapping and filling - 7.8.
codecs
— Codec registry and base classes - 7.9.
unicodedata
— Unicode Database - 7.10.
stringprep
— Internet String Preparation - 7.11.
fpformat
— Floating point conversions
- 7.1.
- 8. Data Types
- 8.1.
datetime
— Basic date and time types - 8.2.
calendar
— General calendar-related functions - 8.3.
collections
— High-performance container datatypes - 8.4.
heapq
— 堆積佇列 (heap queue) 演算法 - 8.5.
bisect
— 陣列二分演算法 (Array bisection algorithm) - 8.6.
array
— 高效率的數值型態陣列 - 8.7.
sets
— Unordered collections of unique elements - 8.8.
sched
— Event scheduler - 8.9.
mutex
— Mutual exclusion support - 8.10.
Queue
— A synchronized queue class - 8.11.
weakref
— Weak references - 8.12.
UserDict
— Class wrapper for dictionary objects - 8.13.
UserList
— Class wrapper for list objects - 8.14.
UserString
— Class wrapper for string objects - 8.15.
types
— Names for built-in types - 8.16.
new
— Creation of runtime internal objects - 8.17.
copy
— Shallow and deep copy operations - 8.18.
pprint
— Data pretty printer - 8.19.
repr
— Alternaterepr()
implementation
- 8.1.
- 9. 數值與數學模組
- 9.1.
numbers
— Numeric abstract base classes - 9.2.
math
— Mathematical functions - 9.3.
cmath
— Mathematical functions for complex numbers - 9.4.
decimal
— Decimal fixed point and floating point arithmetic - 9.5.
fractions
— Rational numbers - 9.6.
random
— Generate pseudo-random numbers - 9.7.
itertools
— Functions creating iterators for efficient looping - 9.8.
functools
— Higher-order functions and operations on callable objects - 9.9.
operator
— Standard operators as functions
- 9.1.
- 10. 檔案與目錄存取
- 10.1.
os.path
— Common pathname manipulations - 10.2.
fileinput
— Iterate over lines from multiple input streams - 10.3.
stat
— Interpretingstat()
results - 10.4.
statvfs
— Constants used withos.statvfs()
- 10.5.
filecmp
— File and Directory Comparisons - 10.6.
tempfile
— Generate temporary files and directories - 10.7.
glob
— Unix style pathname pattern expansion - 10.8.
fnmatch
— Unix filename pattern matching - 10.9.
linecache
— Random access to text lines - 10.10.
shutil
— High-level file operations - 10.11.
dircache
— Cached directory listings - 10.12.
macpath
— Mac OS 9 path manipulation functions
- 10.1.
- 11. Data Persistence
- 11.1.
pickle
— Python object serialization - 11.2.
cPickle
— A fasterpickle
- 11.3.
copy_reg
— Registerpickle
support functions - 11.4.
shelve
— Python object persistence - 11.5.
marshal
— Internal Python object serialization - 11.6.
anydbm
— Generic access to DBM-style databases - 11.7.
whichdb
— Guess which DBM module created a database - 11.8.
dbm
— Simple 「database」 interface - 11.9.
gdbm
— GNU’s reinterpretation of dbm - 11.10.
dbhash
— DBM-style interface to the BSD database library - 11.11.
bsddb
— Interface to Berkeley DB library - 11.12.
dumbdbm
— Portable DBM implementation - 11.13.
sqlite3
— DB-API 2.0 interface for SQLite databases
- 11.1.
- 12. 資料壓縮與保存
- 13. 檔案格式
- 14. Cryptographic Services
- 15. Generic Operating System Services
- 15.1.
os
— Miscellaneous operating system interfaces - 15.2.
io
— Core tools for working with streams - 15.3.
time
— Time access and conversions - 15.4.
argparse
— Parser for command-line options, arguments and sub-commands - 15.5.
optparse
— Parser for command line options - 15.6.
getopt
— C-style parser for command line options - 15.7.
logging
— Logging facility for Python - 15.8.
logging.config
— Logging configuration - 15.9.
logging.handlers
— Logging handlers - 15.10.
getpass
— Portable password input - 15.11.
curses
— Terminal handling for character-cell displays - 15.12.
curses.textpad
— Text input widget for curses programs - 15.13.
curses.ascii
— Utilities for ASCII characters - 15.14.
curses.panel
— A panel stack extension for curses - 15.15.
platform
— Access to underlying platform’s identifying data - 15.16.
errno
— Standard errno system symbols - 15.17.
ctypes
— A foreign function library for Python
- 15.1.
- 16. Optional Operating System Services
- 16.1.
select
— Waiting for I/O completion - 16.2.
threading
— Higher-level threading interface - 16.3.
thread
— Multiple threads of control - 16.4.
dummy_threading
— Drop-in replacement for thethreading
module - 16.5.
dummy_thread
— Drop-in replacement for thethread
module - 16.6.
multiprocessing
— Process-based 「threading」 interface - 16.7.
mmap
— Memory-mapped file support - 16.8.
readline
— GNU readline interface - 16.9.
rlcompleter
— Completion function for GNU readline
- 16.1.
- 17. Interprocess Communication and Networking
- 17.1.
subprocess
— Subprocess management - 17.2.
socket
— Low-level networking interface - 17.3.
ssl
— TLS/SSL wrapper for socket objects - 17.4.
signal
— Set handlers for asynchronous events - 17.5.
popen2
— Subprocesses with accessible I/O streams - 17.6.
asyncore
— Asynchronous socket handler - 17.7.
asynchat
— Asynchronous socket command/response handler
- 17.1.
- 18. Internet Data Handling
- 18.1.
email
— An email and MIME handling package - 18.2.
json
— JSON encoder and decoder - 18.3.
mailcap
— Mailcap file handling - 18.4.
mailbox
— Manipulate mailboxes in various formats - 18.5.
mhlib
— Access to MH mailboxes - 18.6.
mimetools
— Tools for parsing MIME messages - 18.7.
mimetypes
— Map filenames to MIME types - 18.8.
MimeWriter
— Generic MIME file writer - 18.9.
mimify
— MIME processing of mail messages - 18.10.
multifile
— Support for files containing distinct parts - 18.11.
rfc822
— Parse RFC 2822 mail headers - 18.12.
base64
— RFC 3548: Base16, Base32, Base64 Data Encodings - 18.13.
binhex
— Encode and decode binhex4 files - 18.14.
binascii
— Convert between binary and ASCII - 18.15.
quopri
— Encode and decode MIME quoted-printable data - 18.16.
uu
— Encode and decode uuencode files
- 18.1.
- 19. Structured Markup Processing Tools
- 19.1.
HTMLParser
— Simple HTML and XHTML parser - 19.2.
sgmllib
— Simple SGML parser - 19.3.
htmllib
— A parser for HTML documents - 19.4.
htmlentitydefs
— Definitions of HTML general entities - 19.5. XML 處理模組
- 19.6. XML vulnerabilities
- 19.7.
xml.etree.ElementTree
— The ElementTree XML API - 19.8.
xml.dom
— The Document Object Model API - 19.9.
xml.dom.minidom
— Minimal DOM implementation - 19.10.
xml.dom.pulldom
— Support for building partial DOM trees - 19.11.
xml.sax
— Support for SAX2 parsers - 19.12.
xml.sax.handler
— Base classes for SAX handlers - 19.13.
xml.sax.saxutils
— SAX Utilities - 19.14.
xml.sax.xmlreader
— Interface for XML parsers - 19.15.
xml.parsers.expat
— Fast XML parsing using Expat
- 19.1.
- 20. Internet Protocols and Support
- 20.1.
webbrowser
— Convenient Web-browser controller - 20.2.
cgi
— Common Gateway Interface support - 20.3.
cgitb
— Traceback manager for CGI scripts - 20.4.
wsgiref
— WSGI Utilities and Reference Implementation - 20.5.
urllib
— Open arbitrary resources by URL - 20.6.
urllib2
— extensible library for opening URLs - 20.7.
httplib
— HTTP protocol client - 20.8.
ftplib
— FTP protocol client - 20.9.
poplib
— POP3 protocol client - 20.10.
imaplib
— IMAP4 protocol client - 20.11.
nntplib
— NNTP protocol client - 20.12.
smtplib
— SMTP protocol client - 20.13.
smtpd
— SMTP Server - 20.14.
telnetlib
— Telnet client - 20.15.
uuid
— UUID objects according to RFC 4122 - 20.16.
urlparse
— Parse URLs into components - 20.17.
SocketServer
— A framework for network servers - 20.18.
BaseHTTPServer
— Basic HTTP server - 20.19.
SimpleHTTPServer
— Simple HTTP request handler - 20.20.
CGIHTTPServer
— CGI-capable HTTP request handler - 20.21.
cookielib
— Cookie handling for HTTP clients - 20.22.
Cookie
— HTTP state management - 20.23.
xmlrpclib
— XML-RPC client access - 20.24.
SimpleXMLRPCServer
— Basic XML-RPC server - 20.25.
DocXMLRPCServer
— Self-documenting XML-RPC server
- 20.1.
- 21. Multimedia Services
- 21.1.
audioop
— Manipulate raw audio data - 21.2.
imageop
— Manipulate raw image data - 21.3.
aifc
— Read and write AIFF and AIFC files - 21.4.
sunau
— Read and write Sun AU files - 21.5.
wave
— Read and write WAV files - 21.6.
chunk
— Read IFF chunked data - 21.7.
colorsys
— Conversions between color systems - 21.8.
imghdr
— Determine the type of an image - 21.9.
sndhdr
— Determine type of sound file - 21.10.
ossaudiodev
— Access to OSS-compatible audio devices
- 21.1.
- 22. 國際化
- 23. 程式框架
- 24. 以 Tk 打造 GUI
- 25. 開發工具
- 26. Debugging and Profiling
- 27. 軟體封裝與發布
- 28. Python Runtime Services
- 28.1.
sys
— System-specific parameters and functions - 28.2.
sysconfig
— Provide access to Python’s configuration information - 28.3.
__builtin__
— Built-in objects - 28.4.
future_builtins
— Python 3 builtins - 28.5.
__main__
— Top-level script environment - 28.6.
warnings
— Warning control - 28.7.
contextlib
— Utilities forwith
-statement contexts - 28.8.
abc
— Abstract Base Classes - 28.9.
atexit
— Exit handlers - 28.10.
traceback
— Print or retrieve a stack traceback - 28.11.
__future__
— Future statement definitions - 28.12.
gc
— Garbage Collector interface - 28.13.
inspect
— Inspect live objects - 28.14.
site
— Site-specific configuration hook - 28.15.
user
— User-specific configuration hook - 28.16.
fpectl
— Floating point exception control
- 28.1.
- 29. Custom Python Interpreters
- 30. Restricted Execution
- 31. 匯入模組
- 31.1.
imp
— Access theimport
internals - 31.2.
importlib
— Convenience wrappers for__import__()
- 31.3.
imputil
— Import utilities - 31.4.
zipimport
— Import modules from Zip archives - 31.5.
pkgutil
— Package extension utility - 31.6.
modulefinder
— Find modules used by a script - 31.7.
runpy
— Locating and executing Python modules
- 31.1.
- 32. Python Language Services
- 32.1.
parser
— Access Python parse trees - 32.2.
ast
— Abstract Syntax Trees - 32.3.
symtable
— Access to the compiler’s symbol tables - 32.4.
symbol
— Constants used with Python parse trees - 32.5.
token
— Constants used with Python parse trees - 32.6.
keyword
— Testing for Python keywords - 32.7.
tokenize
— Tokenizer for Python source - 32.8.
tabnanny
— Detection of ambiguous indentation - 32.9.
pyclbr
— Python class browser support - 32.10.
py_compile
— Compile Python source files - 32.11.
compileall
— Byte-compile Python libraries - 32.12.
dis
— Python bytecode的反組譯器 - 32.13.
pickletools
— Tools for pickle developers
- 32.1.
- 33. Python compiler package
- 34. Miscellaneous Services
- 35. MS Windows Specific Services
- 36. Unix Specific Services
- 36.1.
posix
— The most common POSIX system calls - 36.2.
pwd
— The password database - 36.3.
spwd
— The shadow password database - 36.4.
grp
— The group database - 36.5.
crypt
— Function to check Unix passwords - 36.6.
dl
— Call C functions in shared objects - 36.7.
termios
— POSIX style tty control - 36.8.
tty
— Terminal control functions - 36.9.
pty
— Pseudo-terminal utilities - 36.10.
fcntl
— Thefcntl
andioctl
system calls - 36.11.
pipes
— Interface to shell pipelines - 36.12.
posixfile
— File-like objects with locking support - 36.13.
resource
— Resource usage information - 36.14.
nis
— Interface to Sun’s NIS (Yellow Pages) - 36.15.
syslog
— Unix syslog library routines - 36.16.
commands
— Utilities for running commands
- 36.1.
- 37. Mac OS X specific services
- 37.1.
ic
— Access to the Mac OS X Internet Config - 37.2.
MacOS
— Access to Mac OS interpreter features - 37.3.
macostools
— Convenience routines for file manipulation - 37.4.
findertools
— The finder’s Apple Events interface - 37.5.
EasyDialogs
— Basic Macintosh dialogs - 37.6.
FrameWork
— Interactive application framework - 37.7.
autoGIL
— Global Interpreter Lock handling in event loops - 37.8. Mac OS Toolbox Modules
- 37.9.
ColorPicker
— Color selection dialog
- 37.1.
- 38. MacPython OSA Modules
- 39. SGI IRIX Specific Services
- 39.1.
al
— Audio functions on the SGI - 39.2.
AL
— Constants used with theal
module - 39.3.
cd
— CD-ROM access on SGI systems - 39.4.
fl
— FORMS library for graphical user interfaces - 39.5.
FL
— Constants used with thefl
module - 39.6.
flp
— Functions for loading stored FORMS designs - 39.7.
fm
— Font Manager interface - 39.8.
gl
— Graphics Library interface - 39.9.
DEVICE
— Constants used with thegl
module - 39.10.
GL
— Constants used with thegl
module - 39.11.
imgfile
— Support for SGI imglib files - 39.12.
jpeg
— Read and write JPEG files
- 39.1.
- 40. SunOS Specific Services
- 41. Undocumented Modules