Python 標準ライブラリ¶
Python 言語リファレンス ではプログラミング言語 Python の厳密な構文とセマンティクスについて説明されていますが、このライブラリリファレンスマニュアルでは Python とともに配付されている標準ライブラリについて説明します。また Python 配布物に収められていることの多いオプションのコンポーネントについても説明します。
Python の標準ライブラリはとても拡張性があり、下の長い目次のリストで判るように幅広いものを用意しています。このライブラリには、例えばファイル I/O のように、Python プログラマが直接アクセスできないシステム機能へのアクセス機能を提供する (Cで書かれた) 組み込みモジュールや、日々のプログラミングで生じる多くの問題に標準的な解決策を提供するPython で書かれたモジュールが入っています。これら数多くのモジュールには、プラットフォーム固有の事情をプラットフォーム独立な API へと昇華させることにより、Pythonプログラムに移植性を持たせ、それを高めるという明確な意図があります。
Windows 向けの Python インストーラはたいてい標準ライブラリのすべてを含み、しばしばそれ以外の追加のコンポーネントも含んでいます。Unix 系のオペレーティングシステムの場合は Python は一揃いのパッケージとして提供されるのが普通で、オプションのコンポーネントを手に入れるにはオペレーティングシステムのパッケージツールを使うことになるでしょう。
標準ライブラリに加えて、数千のコンポーネントが (独立したプログラムやモジュールからパッケージ、アプリケーション開発フレームワークまで) 成長し続けるコレクションとしてPython Package Index から入手可能です。
- 1. はじめに
- 2. 組み込み関数
- 3. 非必須組み込み関数 (Non-essential Built-in Functions)
- 4. 組み込み定数
- 5. 組み込み型
- 6. 組み込み例外
- 7. 文字列処理
- 7.1.
string--- 一般的な文字列操作 - 7.2.
re--- 正規表現操作 - 7.3.
struct--- 文字列データをパックされたバイナリデータとして解釈する - 7.4.
difflib--- 差分の計算を助ける - 7.5.
StringIO--- ファイルのように文字列を読み書きする - 7.6.
cStringIO--- 高速化されたStringIO - 7.7.
textwrap--- テキストの折り返しと詰め込み - 7.8.
codecs--- codec レジストリと基底クラス - 7.9.
unicodedata--- Unicode データベース - 7.10.
stringprep--- インターネットのための文字列調製 - 7.11.
fpformat--- 浮動小数点数の変換
- 7.1.
- 8. データ型
- 8.1.
datetime--- 基本的な日付型および時間型 - 8.2.
calendar--- 一般的なカレンダーに関する関数群 - 8.3.
collections--- 高性能なコンテナ・データ型 - 8.4.
heapq--- ヒープキューアルゴリズム - 8.5.
bisect--- 配列二分法アルゴリズム - 8.6.
array--- 効率のよい数値アレイ - 8.7.
sets--- 重複のない要素の順序なしコレクション - 8.8.
sched--- イベントスケジューラ - 8.9.
mutex--- 排他制御 - 8.10.
Queue--- 同期キュークラス - 8.11.
weakref--- 弱参照 - 8.12.
UserDict--- 辞書オブジェクトのためのクラスラッパー - 8.13.
UserList--- リストオブジェクトのためのクラスラッパー - 8.14.
UserString--- 文字列オブジェクトのためのクラスラッパー - 8.15.
types--- 組み込み型の名前 - 8.16.
new--- ランタイム内部オブジェクトの作成 - 8.17.
copy--- 浅いコピーおよび深いコピー操作 - 8.18.
pprint--- データ出力の整然化 - 8.19.
repr--- もう一つのrepr()の実装
- 8.1.
- 9. 数値と数学モジュール
- 10. ファイルとディレクトリへのアクセス
- 10.1.
os.path--- 共通のパス名操作 - 10.2.
fileinput--- 複数の入力ストリームをまたいだ行の繰り返し処理をサポートする - 10.3.
stat---stat()の結果を解釈する - 10.4.
statvfs---os.statvfs()で使われる定数群 - 10.5.
filecmp--- ファイルおよびディレクトリの比較 - 10.6.
tempfile--- 一時的なファイルやディレクトリの生成 - 10.7.
glob--- Unix 形式のパス名のパターン展開 - 10.8.
fnmatch--- Unix ファイル名のパターンマッチ - 10.9.
linecache--- テキストラインにランダムアクセスする - 10.10.
shutil--- 高水準のファイル操作 - 10.11.
dircache--- キャッシュされたディレクトリ一覧の生成 - 10.12.
macpath--- Mac OS 9 のパス操作関数
- 10.1.
- 11. データの永続化
- 11.1.
pickle--- Python オブジェクトの直列化 - 11.2.
cPickle--- より高速なpickle - 11.3.
copy_reg---pickleサポート関数を登録する - 11.4.
shelve--- Python オブジェクトの永続化 - 11.5.
marshal--- 内部使用向けの Python オブジェクト整列化 - 11.6.
anydbm--- DBM 形式のデータベースへの汎用アクセスインタフェース - 11.7.
whichdb--- どの DBM モジュールがデータベースを作ったかを推測する - 11.8.
dbm--- UNIX dbmのシンプルなインタフェース - 11.9.
gdbm--- GNU による dbm の再実装 - 11.10.
dbhash--- BSD データベースライブラリへの DBM 形式のインタフェース - 11.11.
bsddb--- Berkeley DB ライブラリへのインタフェース - 11.12.
dumbdbm--- 可搬性のある DBM 実装 - 11.13.
sqlite3--- SQLite データベースに対する DB-API 2.0 インタフェース
- 11.1.
- 12. データ圧縮とアーカイブ
- 13. ファイルフォーマット
- 14. 暗号関連のサービス
- 15. 汎用オペレーティングシステムサービス
- 15.1.
os--- 雑多なオペレーティングシステムインタフェース - 15.2.
io--- ストリームを扱うコアツール - 15.3.
time--- 時刻データへのアクセスと変換 - 15.4.
argparse--- コマンドラインオプション、引数、サブコマンドのパーサー - 15.5.
optparse--- コマンドラインオプション解析器 - 15.6.
getopt--- C 言語スタイルのコマンドラインオプションパーサ - 15.7.
logging--- Python 用ロギング機能 - 15.8.
logging.config--- ロギングの環境設定 - 15.9.
logging.handlers--- ロギングハンドラ - 15.10.
getpass--- 可搬性のあるパスワード入力機構 - 15.11.
curses--- 文字セル表示を扱うための端末操作 - 15.12.
curses.textpad--- curses プログラムのためのテキスト入力ウィジェット - 15.13.
curses.ascii--- ASCII 文字に関するユーティリティ - 15.14.
curses.panel--- curses のためのパネルスタック拡張 - 15.15.
platform--- 実行中プラットフォームの固有情報を参照する - 15.16.
errno--- 標準の errno システムシンボル - 15.17.
ctypes--- Pythonのための外部関数ライブラリ
- 15.1.
- 16. オプションのオペレーティングシステムサービス
- 16.1.
select--- I/O 処理の完了を待機する - 16.2.
threading--- 高水準のスレッドインタフェース - 16.3.
thread--- マルチスレッドのコントロール - 16.4.
dummy_threading---threadingの代替モジュール - 16.5.
dummy_thread---threadの代替モジュール - 16.6.
multiprocessing--- プロセスベースの "並列処理" インタフェース - 16.7.
mmap--- メモリマップファイル - 16.8.
readline--- GNU readline のインタフェース - 16.9.
rlcompleter--- GNU readline向け補完関数
- 16.1.
- 17. プロセス間通信とネットワーク
- 18. インターネット上のデータの操作
- 18.1.
email--- 電子メールと MIME 処理のためのパッケージ - 18.2.
json--- JSON エンコーダおよびデコーダ - 18.3.
mailcap--- mailcap ファイルの操作 - 18.4.
mailbox--- 様々な形式のメールボックス操作 - 18.5.
mhlib--- MH のメールボックスへのアクセス機構 - 18.6.
mimetools--- MIME メッセージを解析するためのツール - 18.7.
mimetypes--- ファイル名を MIME 型へマップする - 18.8.
MimeWriter--- 汎用 MIME ファイルライター - 18.9.
mimify--- 電子メールメッセージの MIME 処理 - 18.10.
multifile--- 個別の部分を含んだファイル群のサポート - 18.11.
rfc822--- RFC 2822 準拠のメールヘッダ読み出し - 18.12.
base64--- RFC 3548: Base16, Base32, Base64 データの符号化 - 18.13.
binhex--- binhex4 形式ファイルのエンコードおよびデコード - 18.14.
binascii--- バイナリデータと ASCII データとの間での変換 - 18.15.
quopri--- MIME quoted-printable 形式データのエンコードおよびデコード - 18.16.
uu--- uuencode形式のエンコードとデコード
- 18.1.
- 19. 構造化マークアップツール
- 19.1.
HTMLParser--- HTML および XHTML のシンプルなパーサー - 19.2.
sgmllib--- 単純な SGML パーザ - 19.3.
htmllib--- HTML 文書の解析器 - 19.4.
htmlentitydefs--- HTML 一般エンティティの定義 - 19.5. XMLを扱うモジュール群
- 19.6. XML の脆弱性
- 19.7.
xml.etree.ElementTree--- ElementTree XML API - 19.8.
xml.dom--- 文書オブジェクトモデル (DOM) API - 19.9.
xml.dom.minidom--- 最小限の DOM の実装 - 19.10.
xml.dom.pulldom--- 部分的な DOM ツリー構築のサポート - 19.11.
xml.sax--- SAX2 パーサのサポート - 19.12.
xml.sax.handler--- SAX ハンドラの基底クラス - 19.13.
xml.sax.saxutils--- SAX ユーティリティ - 19.14.
xml.sax.xmlreader--- XML パーサのインタフェース - 19.15.
xml.parsers.expat--- Expat を使った高速な XML 解析
- 19.1.
- 20. インターネットプロトコルとサポート
- 20.1.
webbrowser--- 便利なウェブブラウザコントローラー - 20.2.
cgi--- CGI (ゲートウェイインタフェース規格) のサポート - 20.3.
cgitb--- CGI スクリプトのトレースバック管理機構 - 20.4.
wsgiref--- WSGI ユーティリティとリファレンス実装 - 20.5.
urllib--- URL による任意のリソースへのアクセス - 20.6.
urllib2--- URL を開くための拡張可能なライブラリ - 20.7.
httplib--- HTTP プロトコルクライアント - 20.8.
ftplib--- FTPプロトコルクライアント - 20.9.
poplib--- POP3 プロトコルクライアント - 20.10.
imaplib--- IMAP4 プロトコルクライアント - 20.11.
nntplib--- NNTP プロトコルクライアント - 20.12.
smtplib--- SMTP プロトコルクライアント - 20.13.
smtpd--- SMTP サーバー - 20.14.
telnetlib--- Telnet クライアント - 20.15.
uuid--- RFC 4122 に準拠した UUID オブジェクト - 20.16.
urlparse--- URL を解析して構成要素にする - 20.17.
SocketServer--- ネットワークサーバ構築のためのフレームワーク - 20.18.
BaseHTTPServer--- 基本的な機能を持つ HTTP サーバ - 20.19.
SimpleHTTPServer--- 簡潔な HTTP リクエストハンドラ - 20.20.
CGIHTTPServer--- CGI 実行機能付き HTTP リクエスト処理機構 - 20.21.
cookielib--- HTTP クライアント用の Cookie 処理 - 20.22.
Cookie--- HTTPの状態管理 - 20.23.
xmlrpclib--- XML-RPC クライアントアクセス - 20.24.
SimpleXMLRPCServer--- 基本的なXML-RPCサーバー - 20.25.
DocXMLRPCServer--- セルフ-ドキュメンティング XML-RPC サーバ
- 20.1.
- 21. マルチメディアサービス
- 21.1.
audioop--- 生の音声データを操作する - 21.2.
imageop--- 生の画像データを操作する - 21.3.
aifc--- AIFFおよびAIFCファイルの読み書き - 21.4.
sunau--- Sun AUファイルの読み書き - 21.5.
wave--- WAVファイルの読み書き - 21.6.
chunk--- IFFチャンクデータの読み込み - 21.7.
colorsys--- 色体系間の変換 - 21.8.
imghdr--- 画像の形式を決定する - 21.9.
sndhdr--- サウンドファイルの識別 - 21.10.
ossaudiodev--- OSS互換オーディオデバイスへのアクセス
- 21.1.
- 22. 国際化
- 23. プログラムのフレームワーク
- 24. Tk を用いたグラフィカルユーザインターフェイス
- 25. 開発ツール
- 26. デバッグとプロファイル
- 27. ソフトウェア・パッケージと配布
- 28. Python ランタイムサービス
- 28.1.
sys--- システムパラメータと関数 - 28.2.
sysconfig--- Python の構成情報にアクセスする - 28.3.
__builtin__--- 組み込みオブジェクト - 28.4.
future_builtins--- Python 3 のビルトイン - 28.5.
__main__--- トップレベルのスクリプト環境 - 28.6.
warnings--- 警告の制御 - 28.7.
contextlib---with文コンテキスト用ユーティリティ - 28.8.
abc--- 抽象基底クラス - 28.9.
atexit--- 終了ハンドラ - 28.10.
traceback--- スタックトレースの表示または取得 - 28.11.
__future__--- future 文の定義 - 28.12.
gc--- ガベージコレクタインターフェース - 28.13.
inspect--- 活動中のオブジェクトの情報を取得する - 28.14.
site--- サイト固有の設定フック - 28.15.
user--- ユーザー設定のフック - 28.16.
fpectl--- 浮動小数点例外の制御
- 28.1.
- 29. カスタム Python インタプリタ
- 30. 制限実行 (restricted execution)
- 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. Python コンパイラパッケージ
- 34. 各種サービス
- 35. MS Windows 固有のサービス
- 36. Unix 固有のサービス
- 36.1.
posix--- 最も一般的な POSIX システムコール群 - 36.2.
pwd--- パスワードデータベースへのアクセスを提供する - 36.3.
spwd--- シャドウパスワードデータベース - 36.4.
grp--- グループデータベースへのアクセス - 36.5.
crypt--- Unix パスワードをチェックするための関数 - 36.6.
dl--- 共有オブジェクトの C 関数の呼び出し - 36.7.
termios--- POSIX スタイルの端末制御 - 36.8.
tty--- 端末制御のための関数群 - 36.9.
pty--- 擬似端末ユーティリティ - 36.10.
fcntl---fcntlおよびioctlシステムコール - 36.11.
pipes--- シェルパイプラインへのインタフェース - 36.12.
posixfile--- ロック機構をサポートするファイル類似オブジェクト - 36.13.
resource--- リソース使用状態の情報 - 36.14.
nis--- Sun の NIS (Yellow Pages) へのインタフェース - 36.15.
syslog--- Unix syslog ライブラリルーチン群 - 36.16.
commands--- コマンド実行ユーティリティ
- 36.1.
- 37. Mac OS X 固有のサービス
- 37.1.
ic--- Mac OS X のインターネット設定へのアクセス - 37.2.
MacOS--- Mac OS インタプリタ機能へのアクセス - 37.3.
macostools--- ファイル操作を便利にするルーチン集 - 37.4.
findertools--- finder のApple Events インターフェース - 37.5.
EasyDialogs--- 基本的な Macintosh ダイアログ - 37.6.
FrameWork--- 対話型アプリケーション・フレームワーク - 37.7.
autoGIL--- イベントループ中のグローバルインタープリタの取り扱い - 37.8. Mac OS ツールボックスモジュール
- 37.9.
ColorPicker--- 色選択ダイアログ
- 37.1.
- 38. MacPython OSA モジュール
- 39. SGI IRIX 固有のサービス
- 39.1.
al--- SGIのオーディオ機能 - 39.2.
AL---alモジュールで使われる定数 - 39.3.
cd--- SGI システムの CD-ROM へのアクセス - 39.4.
fl--- グラフィカルユーザーインターフェースのための FORMS ライブラリ - 39.5.
FL---flモジュールで使用される定数 - 39.6.
flp--- 保存された FORMS デザインをロードする関数 - 39.7.
fm--- Font Manager インターフェース - 39.8.
gl--- Graphics Library インターフェース - 39.9.
DEVICE---glモジュールで使われる定数 - 39.10.
GL---glモジュールで使われる定数 - 39.11.
imgfile--- SGI imglib ファイルのサポート - 39.12.
jpeg--- JPEG ファイルの読み書きを行う
- 39.1.
- 40. SunOS 固有のサービス
- 41. ドキュメント化されていないモジュール
