Python 標準ライブラリ¶
Python 言語リファレンス ではプログラミング言語 Python の厳密な構文とセマンティクスについて説明されていますが、このライブラリリファレンスマニュアルでは Python とともに配付されている標準ライブラリについて説明します。また Python 配布物に収められていることの多いオプションのコンポーネントについても説明します。
Python の標準ライブラリはとても拡張性があり、下の長い目次のリストで判るように幅広いものを用意しています。このライブラリには、例えばファイル I/O のように、Python プログラマが直接アクセスできないシステム機能へのアクセス機能を提供する (Cで書かれた) 組み込みモジュールや、日々のプログラミングで生じる多くの問題に標準的な解決策を提供するPython で書かれたモジュールが入っています。これら数多くのモジュールには、プラットフォーム固有の事情をプラットフォーム独立な API へと昇華させることにより、Pythonプログラムに移植性を持たせ、それを高めるという明確な意図があります。
Windows 向けの Python インストーラはたいてい標準ライブラリのすべてを含み、しばしばそれ以外の追加のコンポーネントも含んでいます。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. 組み込み定数
- 4. 組み込み型
- 5. 組み込み例外
- 6. テキスト処理サービス
- 7. バイナリデータ処理
- 8. データ型
- 8.1.
datetime
--- 基本的な日付型および時間型 - 8.2.
calendar
--- 一般的なカレンダーに関する関数群 - 8.3.
collections
--- コンテナデータ型 - 8.4.
collections.abc
--- コレクションの抽象基底クラス - 8.5.
heapq
--- ヒープキューアルゴリズム - 8.6.
bisect
--- 配列二分法アルゴリズム - 8.7.
array
--- 効率のよい数値アレイ - 8.8.
weakref
--- 弱参照 - 8.9.
types
--- 動的な型生成と組み込み型に対する名前 - 8.10.
copy
--- 浅いコピーおよび深いコピー操作 - 8.11.
pprint
--- データ出力の整然化 - 8.12.
reprlib
--- もう一つのrepr()
の実装 - 8.13.
enum
--- 列挙型のサポート
- 8.1.
- 9. 数値と数学モジュール
- 10. 関数型プログラミング用モジュール
- 11. ファイルとディレクトリへのアクセス
- 11.1.
pathlib
--- オブジェクト指向のファイルシステムパス - 11.2.
os.path
--- 共通のパス名操作 - 11.3.
fileinput
--- 複数の入力ストリームをまたいだ行の繰り返し処理をサポートする - 11.4.
stat
---stat()
の結果を解釈する - 11.5.
filecmp
--- ファイルおよびディレクトリの比較 - 11.6.
tempfile
--- 一時ファイルやディレクトリの作成 - 11.7.
glob
--- Unix 形式のパス名のパターン展開 - 11.8.
fnmatch
--- Unix ファイル名のパターンマッチ - 11.9.
linecache
--- テキストラインにランダムアクセスする - 11.10.
shutil
--- 高水準のファイル操作 - 11.11.
macpath
--- Mac OS 9 のパス操作関数
- 11.1.
- 12. データの永続化
- 13. データ圧縮とアーカイブ
- 14. ファイルフォーマット
- 15. 暗号関連のサービス
- 16. 汎用オペレーティングシステムサービス
- 16.1.
os
--- 雑多なオペレーティングシステムインタフェース - 16.2.
io
--- ストリームを扱うコアツール - 16.3.
time
--- 時刻データへのアクセスと変換 - 16.4.
argparse
--- コマンドラインオプション、引数、サブコマンドのパーサー - 16.5.
getopt
--- C 言語スタイルのコマンドラインオプションパーサ - 16.6.
logging
--- Python 用ロギング機能 - 16.7.
logging.config
--- ロギングの環境設定 - 16.8.
logging.handlers
--- ロギングハンドラ - 16.9.
getpass
--- 可搬性のあるパスワード入力機構 - 16.10.
curses
--- 文字セル表示を扱うための端末操作 - 16.11.
curses.textpad
--- curses プログラムのためのテキスト入力ウィジェット - 16.12.
curses.ascii
--- ASCII 文字に関するユーティリティ - 16.13.
curses.panel
--- curses のためのパネルスタック拡張 - 16.14.
platform
--- 実行中プラットフォームの固有情報を参照する - 16.15.
errno
--- 標準の errno システムシンボル - 16.16.
ctypes
--- Pythonのための外部関数ライブラリ
- 16.1.
- 17. 並行実行
- 17.1.
threading
--- スレッドベースの並列処理 - 17.2.
multiprocessing
--- プロセスベースの並列処理 - 17.3.
concurrent
パッケージ - 17.4.
concurrent.futures
-- 並列タスク実行 - 17.5.
subprocess
--- サブプロセス管理 - 17.6.
sched
--- イベントスケジューラ - 17.7.
queue
--- 同期キュークラス - 17.8.
dummy_threading
---threading
の代替モジュール - 17.9.
_thread
--- 低水準の スレッド API - 17.10.
_dummy_thread
---_thread
の代替モジュール
- 17.1.
- 18. プロセス間通信とネットワーク
- 18.1.
socket
--- 低水準ネットワークインターフェース - 18.2.
ssl
--- ソケットオブジェクトに対する TLS/SSL ラッパー - 18.3.
select
--- I/O 処理の完了を待機する - 18.4.
selectors
--- 高水準の I/O 多重化 - 18.5.
asyncio
--- 非同期 I/O、イベントループ、コルーチンおよびタスク - 18.6.
asyncore
--- 非同期ソケットハンドラ - 18.7.
asynchat
--- 非同期ソケットコマンド/レスポンスハンドラ - 18.8.
signal
--- 非同期イベントにハンドラを設定する - 18.9.
mmap
--- メモリマップファイル
- 18.1.
- 19. インターネット上のデータの操作
- 19.1.
email
--- 電子メールと MIME 処理のためのパッケージ - 19.2.
json
--- JSON エンコーダおよびデコーダ - 19.3.
mailcap
--- mailcap ファイルの操作 - 19.4.
mailbox
--- 様々な形式のメールボックス操作 - 19.5.
mimetypes
--- ファイル名を MIME 型へマップする - 19.6.
base64
--- Base16, Base32, Base64, Base85 データの符号化 - 19.7.
binhex
--- binhex4 形式ファイルのエンコードおよびデコード - 19.8.
binascii
--- バイナリデータと ASCII データとの間での変換 - 19.9.
quopri
--- MIME quoted-printable 形式データのエンコードおよびデコード - 19.10.
uu
--- uuencode形式のエンコードとデコード
- 19.1.
- 20. 構造化マークアップツール
- 20.1.
html
--- HyperText Markup Language のサポート - 20.2.
html.parser
--- HTML および XHTML のシンプルなパーサー - 20.3.
html.entities
--- HTML 一般実体の定義 - 20.4. XMLを扱うモジュール群
- 20.5.
xml.etree.ElementTree
--- ElementTree XML API - 20.6.
xml.dom
--- 文書オブジェクトモデル (DOM) API - 20.7.
xml.dom.minidom
--- 最小限の DOM の実装 - 20.8.
xml.dom.pulldom
--- 部分的な DOM ツリー構築のサポート - 20.9.
xml.sax
--- SAX2 パーサのサポート - 20.10.
xml.sax.handler
--- SAX ハンドラの基底クラス - 20.11.
xml.sax.saxutils
--- SAX ユーティリティ - 20.12.
xml.sax.xmlreader
--- XML パーサのインタフェース - 20.13.
xml.parsers.expat
--- Expat を使った高速な XML 解析
- 20.1.
- 21. インターネットプロトコルとサポート
- 21.1.
webbrowser
--- 便利なウェブブラウザコントローラー - 21.2.
cgi
--- CGI (ゲートウェイインタフェース規格) のサポート - 21.3.
cgitb
--- CGI スクリプトのトレースバック管理機構 - 21.4.
wsgiref
--- WSGI ユーティリティとリファレンス実装 - 21.5.
urllib
--- URL を扱うモジュール群 - 21.6.
urllib.request
--- URL を開くための拡張可能なライブラリ - 21.7.
urllib.response
--- urllib で使用するレスポンスクラス - 21.8.
urllib.parse
--- URL を解析して構成要素にする - 21.9.
urllib.error
--- urllib.request が投げる例外 - 21.10.
urllib.robotparser
--- robots.txt のためのパーザ - 21.11.
http
--- HTTP モジュール群 - 21.12.
http.client
--- HTTP プロトコルクライアント - 21.13.
ftplib
--- FTPプロトコルクライアント - 21.14.
poplib
--- POP3 プロトコルクライアント - 21.15.
imaplib
--- IMAP4 プロトコルクライアント - 21.16.
nntplib
--- NNTP プロトコルクライアント - 21.17.
smtplib
--- SMTP プロトコルクライアント - 21.18.
smtpd
--- SMTP サーバー - 21.19.
telnetlib
--- Telnet クライアント - 21.20.
uuid
--- UUID objects according to RFC 4122 - 21.21.
socketserver
--- ネットワークサーバのフレームワーク - 21.22.
http.server
--- HTTP サーバ - 21.23.
http.cookies
--- HTTPの状態管理 - 21.24.
http.cookiejar
--- HTTP クライアント用の Cookie 処理 - 21.25.
xmlrpc
--- XMLRPC サーバーとクライアントモジュール - 21.26.
xmlrpc.client
--- XML-RPC クライアントアクセス - 21.27.
xmlrpc.server
--- 基本的なXML-RPCサーバー - 21.28.
ipaddress
--- IPv4/IPv6 操作ライブラリ
- 21.1.
- 22. マルチメディアサービス
- 23. 国際化
- 24. プログラムのフレームワーク
- 25. Tk を用いたグラフィカルユーザインターフェイス
- 26. 開発ツール
- 26.1.
typing
--- 型ヒントのサポート - 26.2.
pydoc
--- ドキュメント生成とオンラインヘルプシステム - 26.3.
doctest
--- 対話的な実行例をテストする - 26.4.
unittest
--- ユニットテストフレームワーク - 26.5.
unittest.mock
--- モックオブジェクトライブラリ - 26.6.
unittest.mock
--- 入門 - 26.7. 2to3 - Python 2 から 3 への自動コード変換
- 26.8.
test
--- Python 用回帰テストパッケージ - 26.9.
test.support
--- テストのためのユーティリティ関数
- 26.1.
- 27. デバッグとプロファイル
- 28. ソフトウェア・パッケージと配布
- 29. Python ランタイムサービス
- 29.1.
sys
--- システムパラメータと関数 - 29.2.
sysconfig
--- Python の構成情報にアクセスする - 29.3.
builtins
--- 組み込みオブジェクト - 29.4.
__main__
--- トップレベルのスクリプト環境 - 29.5.
warnings
--- 警告の制御 - 29.6.
contextlib
---with
文コンテキスト用ユーティリティ - 29.7.
abc
--- 抽象基底クラス - 29.8.
atexit
--- 終了ハンドラ - 29.9.
traceback
--- スタックトレースの表示または取得 - 29.10.
__future__
--- future 文の定義 - 29.11.
gc
--- ガベージコレクタインターフェース - 29.12.
inspect
--- 活動中のオブジェクトの情報を取得する - 29.13.
site
--- サイト固有の設定フック - 29.14.
fpectl
--- 浮動小数点例外の制御
- 29.1.
- 30. カスタム Python インタプリタ
- 31. モジュールのインポート
- 32. Python言語サービス
- 32.1.
parser
--- Python 解析木にアクセスする - 32.2.
ast
--- 抽象構文木 - 32.3.
symtable
--- コンパイラの記号表へのアクセス - 32.4.
symbol
--- Python 解析木と共に使われる定数 - 32.5.
token
--- Python 解析木と共に使われる定数 - 32.6.
keyword
--- Python キーワードチェック - 32.7.
tokenize
--- Pythonソースのためのトークナイザ - 32.8.
tabnanny
--- あいまいなインデントの検出 - 32.9.
pyclbr
--- Python クラスブラウザサポート - 32.10.
py_compile
--- Python ソースファイルのコンパイル - 32.11.
compileall
--- Python ライブラリをバイトコンパイル - 32.12.
dis
--- Python バイトコードの逆アセンブラ - 32.13.
pickletools
--- pickle 開発者のためのツール群
- 32.1.
- 33. 各種サービス
- 34. MS Windows 固有のサービス
- 35. Unix 固有のサービス
- 35.1.
posix
--- 最も一般的な POSIX システムコール群 - 35.2.
pwd
--- パスワードデータベースへのアクセスを提供する - 35.3.
spwd
--- シャドウパスワードデータベース - 35.4.
grp
--- グループデータベースへのアクセス - 35.5.
crypt
--- Unix パスワードをチェックするための関数 - 35.6.
termios
--- POSIX スタイルの端末制御 - 35.7.
tty
--- 端末制御のための関数群 - 35.8.
pty
--- 擬似端末ユーティリティ - 35.9.
fcntl
---fcntl
およびioctl
システムコール - 35.10.
pipes
--- シェルパイプラインへのインタフェース - 35.11.
resource
--- リソース使用状態の情報 - 35.12.
nis
--- Sun の NIS (Yellow Pages) へのインタフェース - 35.13.
syslog
--- Unix syslog ライブラリルーチン群
- 35.1.
- 36. 取って代わられたモジュール群
- 37. ドキュメント化されていないモジュール