1. 程式人生 > 其它 >200 多個 Python 標準庫介紹

200 多個 Python 標準庫介紹

今天給大家介紹一下200多個Python標準庫,讓大家對Python標準庫有一個大致的認識。

關於Python標準庫

01

眾所周知,Python是一個依賴強大的元件庫完成對應功能的語言,為了便捷實現各項功能,前輩大牛們打造了多種多樣的工具庫公開提供給大眾使用,而越來越多的庫已經因為使用的廣泛和普遍及其功能的強大,已經成為Python的標準庫。

時至今日,Python 標準庫已經非常龐大,所提供的元件涉及範圍十分廣泛,正如本文後面的內容中所顯示的。這個庫包含了多個內建模組 (以 C 編寫),Python 程式設計師必須依靠它們來實現系統級功能,例如檔案 I/O,此外還有大量以 Python 編寫的模組,提供了日常程式設計中許多問題的標準解決方案。其中有些模組經過專門設計,通過將特定平臺功能抽象化為平臺中立的 API 來鼓勵和加強 Python 程式的可移植性。

Windows 版本的 Python 安裝程式通常包含整個標準庫,往往還包含許多額外元件。對於類 Unix 作業系統,Python 通常會分成一系列的軟體包,因此可能需要使用作業系統所提供的包管理工具來獲取部分或全部可選元件。

在這個標準庫以外還存在成千上萬並且不斷增加的其他元件 (從單獨的程式、模組、軟體包直到完整的應用開發框架),均可以在網路上搜索到並下載使用。

目錄列表

02

本文將按以下順序列舉各分類下的標準庫:

文字

二進位制資料

資料型別

數學

函數語言程式設計

檔案與目錄

持久化

壓縮

檔案格式化

加密

作業系統工具

併發

程序間通訊

網際網路

HTML與XML

網際網路協議與支援

多媒體

國際化

程式設計框架

Tk圖形使用者介面

開發工具

除錯

執行時

直譯器

匯入模組

Python語言

其它

Windows相關

Unix相關

文字

string:通用字串操作

re:正則表示式操作

difflib:差異計算工具

textwrap:文字填充

unicodedata:Unicode字元資料庫

stringprep:網際網路字串準備工具

readline:GNU按行讀取介面

rlcompleter:GNU按行讀取的實現函式

二進位制資料

struct:將位元組解析為打包的二進位制資料

codecs:登錄檔與基類的編解碼器

資料型別

datetime:基於日期與時間工具

calendar:通用月份函式

collections:容器資料型別

collections.abc:容器虛基類

heapq:堆佇列演算法

bisect:陣列二分演算法

array:高效數值陣列

weakref:弱引用

types:內建型別的動態建立與命名

copy:淺拷貝與深拷貝

pprint:格式化輸出

reprlib:交替repr()的實現

數學

numbers:數值的虛基類

math:數學函式

cmath:複數的數學函式

decimal:定點數與浮點數計算

fractions:有理數

random:生成偽隨機數

函數語言程式設計

itertools:為高效迴圈生成迭代器

functools:可呼叫物件上的高階函式與操作

operator:針對函式的標準操作

檔案與目錄

os.path:通用路徑名控制

fileinput:從多輸入流中遍歷行

stat:解釋stat()的結果

filecmp:檔案與目錄的比較函式

tempfile:生成臨時檔案與目錄

glob:Unix風格路徑名格式的擴充套件

fnmatch:Unix風格路徑名格式的比對

linecache:文字行的隨機儲存

shutil:高階檔案操作

macpath:MacOS 9路徑控制函式

持久化

pickle:Python物件序列化

copyreg:註冊機對pickle的支援函式

shelve:Python物件持久化

marshal:內部Python物件序列化

dbm:Unix“資料庫”介面

sqlite3:針對SQLite資料庫的API2.0

壓縮

zlib:相容gzip的壓縮

gzip:對gzip檔案的支援

bz2:對bzip2壓縮的支援

lzma:使用LZMA演算法的壓縮

zipfile:操作ZIP存檔

tarfile:讀寫tar存檔檔案

檔案格式化

csv:讀寫CSV檔案

configparser:配置檔案解析器

netrc:netrc檔案處理器

xdrlib:XDR資料編碼與解碼

plistlib:生成和解析Mac OS X.plist檔案

加密

hashlib:安全雜湊與訊息摘要

hmac:針對訊息認證的鍵雜湊

作業系統工具

os:多方面的作業系統介面

io:流核心工具

time:時間的查詢與轉化

argparser:命令列選項、引數和子命令的解析器

optparser:命令列選項解析器

getopt:C風格的命令列選項解析器

logging:Python日誌工具

logging.config:日誌配置

logging.handlers:日誌處理器

getpass:簡易密碼輸入

curses:字元顯示的終端處理

curses.textpad:curses程式的文字輸入域

curses.ascii:ASCII字符集工具

curses.panel:curses的控制元件棧擴充套件

platform:訪問底層平臺認證資料

errno:標準錯誤記號

ctypes:Python外部函式庫

併發

threading:基於執行緒的並行

multiprocessing:基於程序的並行

concurrent:併發包

concurrent.futures:啟動並行任務

subprocess:子程序管理

sched:事件排程

queue:同步佇列

select:等待I / O完成

dummy_threading:threading模組的替代(當_thread不可用時)

_thread:底層的執行緒API(threading基於其上)

_dummy_thread:_thread模組的替代(當_thread不可用時)

程序間通訊

socket:底層網路介面

ssl:socket物件的TLS / SSL填充器

asyncore:非同步套接字處理器

asynchat:非同步套接字命令 / 響應處理器

signal:非同步事務訊號處理器

mmap:記憶體對映檔案支援

網際網路

email:郵件與MIME處理包

json:JSON編碼與解碼

mailcap:mailcap檔案處理

mailbox:多種格式控制郵箱

mimetypes:檔名與MIME型別對映

base64:RFC

3548:Base16、Base32、Base64編碼

binhex:binhex4檔案編碼與解碼

binascii:二進位制碼與ASCII碼間的轉化

quopri:MIME

quoted - printable資料的編碼與解碼

uu:uuencode檔案的編碼與解碼

HTML與XML

html:HTML支援

html.parser:簡單HTML與XHTML解析器

html.entities:HTML通用實體的定義

xml:XML處理模組

xml.etree.ElementTree:樹形XML元素API

xml.dom:XML DOM API

xml.dom.minidom:XML DOM最小生成樹

xml.dom.pulldom:構建部分DOM樹的支援

xml.sax:SAX2解析的支援

xml.sax.handler:SAX處理器基類

xml.sax.saxutils:SAX工具

xml.sax.xmlreader:SAX解析器介面

xml.parsers.expat:運用Expat快速解析XML

網際網路協議與支援

webbrowser:簡易Web瀏覽器控制器

cgi:CGI支援

cgitb:CGI指令碼反向追蹤管理器

wsgiref:WSGI工具與引用實現

urllib:URL處理模組

urllib.request:開啟URL連線的擴充套件庫

urllib.response:urllib模組的響應類

urllib.parse:將URL解析成元件

urllib.error:urllib.request引發的異常類

urllib.robotparser:robots.txt的解析器

http:HTTP模組

http.client:HTTP協議客戶端

ftplib:FTP協議客戶端

poplib:POP協議客戶端

imaplib:IMAP4協議客戶端

nntplib:NNTP協議客戶端

smtplib:SMTP協議客戶端

smtpd:SMTP伺服器

telnetlib:Telnet客戶端

uuid:RFC4122的UUID物件

socketserver:網路伺服器框架

http.server:HTTP伺服器

http.cookies:HTTPCookie狀態管理器

http.cookiejar:HTTP客戶端的Cookie處理

xmlrpc:XML - RPC伺服器和客戶端模組

xmlrpc.client:XML - RPC客戶端訪問

xmlrpc.server:XML - RPC伺服器基礎

ipaddress:IPv4 / IPv6控制庫

多媒體

audioop:處理原始音訊資料

aifc:讀寫AIFF和AIFC檔案

sunau:讀寫Sun AU檔案

wave:讀寫WAV檔案

chunk:讀取IFF大檔案

colorsys:顏色系統間轉化

imghdr:指定影象型別

sndhdr:指定聲音檔案型別

ossaudiodev:訪問相容OSS的音訊裝置

國際化

gettext:多語言的國際化服務

locale:國際化服務

程式設計框架

turtle:Turtle圖形庫

cmd:基於行的命令直譯器支援

shlex:簡單詞典分析

Tk圖形使用者介面

tkinter:Tcl / Tk介面

tkinter.ttk:Tk主題控制元件

tkinter.tix:Tk擴充套件控制元件

tkinter.scrolledtext:滾軸文字控制元件

開發工具

pydoc:文件生成器和線上幫助系統

doctest:互動式Python示例

unittest:單元測試框架

unittest.mock:模擬物件庫

test:Python迴歸測試包

test.support:Python測試工具套件

venv:虛擬環境搭建

除錯

bdb:除錯框架

faulthandler:Python反向追蹤庫

pdb:Python偵錯程式

timeit:小段程式碼執行時間測算

trace:Python執行狀態追蹤

執行時

sys:系統相關的引數與函式

sysconfig:訪問Python配置資訊

builtins:內建物件

main:頂層指令碼環境

warnings:警告控制

contextlib:with狀態的上下文工具

abc:虛基類

atexit:出口處理器

traceback:列印或讀取一條棧的反向追蹤

future:未來狀態定義

gc:垃圾回收介面

inspect:檢查存活的物件

site:址相關的配置鉤子(hook)

fpectl:浮點數異常控制

distutils:生成和安裝Python模組

直譯器

code:基類直譯器

codeop:編譯Python程式碼

匯入模組

imp:訪問import模組的內部

zipimport:從ZIP歸檔中匯入模組

pkgutil:包擴充套件工具

modulefinder:通過指令碼查詢模組

runpy:定位並執行Python模組

importlib:import的一種實施

Python語言

parser:訪問Python解析樹

ast:抽象句法樹

symtable:訪問編譯器符號表

symbol:Python解析樹中的常量

token:Python解析樹中的常量

keyword:Python關鍵字測試

tokenize:Python原始檔分詞

tabnany:模糊縮排檢測

pyclbr:Python類瀏覽支援

py_compile:編譯Python原始檔

compileall:按位元組編譯Python庫

dis:Python位元組碼的反彙編器

pickletools:序列化開發工具

其他

formatter:通用格式化輸出

Windows相關

msilib:讀寫Windows的Installer檔案

msvcrt:MS VC + + Runtime的有用程式

winreg:Windows登錄檔訪問

winsound:Windows聲音播放介面

Unix相關

posix:最常用的POSIX呼叫

pwd:密碼資料庫

spwd:影子密碼資料庫

grp:組資料庫

crypt:Unix密碼驗證

termios:POSIX風格的tty控制

tty:終端控制函式

pty:偽終端工具

fcntl:系統呼叫fcntl()和ioctl()

pipes:shell管道介面

resource:資源可用資訊

nis:Sun的NIS的介面

syslog:Unix 日誌服務