15. 汎用オペレーティングシステムサービス
****************************************

本章に記述されたモジュールは、ファイルの取り扱いや時間計測のような (ほ
ぼ)すべてのオペレーティングシステムで利用可能な機能にインタフェースを
提供します。これらのインタフェースは、Unix もしくは C のインタフェース
を基に作られますが、ほとんどの他のシステムで同様に利用可能です。概要を
以下に記述します:

* 15.1. "os" --- 雑多なオペレーティングシステムインタフェース

  * 15.1.1. プロセスのパラメーター

  * 15.1.2. ファイルオブジェクトの生成

  * 15.1.3. ファイル記述子の操作

    * 15.1.3.1. "open()" フラグ定数

  * 15.1.4. ファイルとディレクトリ

  * 15.1.5. プロセス管理

  * 15.1.6. 雑多なシステム情報

  * 15.1.7. 雑多な関数

* 15.2. "io" --- ストリームを扱うコアツール

  * 15.2.1. モジュールインタフェース

  * 15.2.2. I/O 基底クラス

  * 15.2.3. 生ファイルI/O

  * 15.2.4. バッファ付きストリーム

  * 15.2.5. テキスト I/O

  * 15.2.6. 進んだ話題

    * 15.2.6.1. パフォーマンス

      * 15.2.6.1.1. バイナリ I/O

      * 15.2.6.1.2. テキスト I/O

    * 15.2.6.2. マルチスレッディング

    * 15.2.6.3. リエントラント性

* 15.3. "time" --- 時刻データへのアクセスと変換

* 15.4. "argparse" --- コマンドラインオプション、引数、サブコマンド
  の パーサー

  * 15.4.1. 例

    * 15.4.1.1. パーサーを作る

    * 15.4.1.2. 引数を追加する

    * 15.4.1.3. 引数を解析する

  * 15.4.2. ArgumentParser オブジェクト

    * 15.4.2.1. prog

    * 15.4.2.2. usage

    * 15.4.2.3. description

    * 15.4.2.4. epilog

    * 15.4.2.5. parents

    * 15.4.2.6. formatter_class

    * 15.4.2.7. prefix_chars

    * 15.4.2.8. fromfile_prefix_chars

    * 15.4.2.9. argument_default

    * 15.4.2.10. conflict_handler

    * 15.4.2.11. add_help

  * 15.4.3. add_argument() メソッド

    * 15.4.3.1. name or flags

    * 15.4.3.2. action

    * 15.4.3.3. nargs

    * 15.4.3.4. const

    * 15.4.3.5. default

    * 15.4.3.6. type

    * 15.4.3.7. choices

    * 15.4.3.8. required

    * 15.4.3.9. help

    * 15.4.3.10. metavar

    * 15.4.3.11. dest

    * 15.4.3.12. Action クラス

  * 15.4.4. parse_args() メソッド

    * 15.4.4.1. オプション値の文法

    * 15.4.4.2. 不正な引数

    * 15.4.4.3. "-" を含む引数

    * 15.4.4.4. 引数の短縮形 (先頭文字でのマッチング)

    * 15.4.4.5. "sys.argv" 以外

    * 15.4.4.6. Namespace オブジェクト

  * 15.4.5. その他のユーティリティ

    * 15.4.5.1. サブコマンド

    * 15.4.5.2. FileType オブジェクト

    * 15.4.5.3. 引数グループ

    * 15.4.5.4. 相互排他

    * 15.4.5.5. パーサーのデフォルト値

    * 15.4.5.6. ヘルプの表示

    * 15.4.5.7. 部分解析

    * 15.4.5.8. ファイル解析のカスタマイズ

    * 15.4.5.9. 終了メソッド

  * 15.4.6. optparse からのアップグレード

* 15.5. "optparse" --- コマンドラインオプション解析器

  * 15.5.1. 背景

    * 15.5.1.1. 用語集

    * 15.5.1.2. オプションとは何か

    * 15.5.1.3. 固定引数とは何か

  * 15.5.2. チュートリアル

    * 15.5.2.1. オプション・アクションを理解する

    * 15.5.2.2. store アクション

    * 15.5.2.3. ブール値 (フラグ) オプションの処理

    * 15.5.2.4. その他のアクション

    * 15.5.2.5. デフォルト値

    * 15.5.2.6. ヘルプの生成

      * 15.5.2.6.1. オプションをグループ化する

    * 15.5.2.7. バージョン番号の出力

    * 15.5.2.8. "optparse" のエラー処理法

    * 15.5.2.9. 全てをつなぎ合わせる

  * 15.5.3. リファレンスガイド

    * 15.5.3.1. parserを作る

    * 15.5.3.2. パーザへのオプション追加

    * 15.5.3.3. オプションの定義

    * 15.5.3.4. オプション属性

    * 15.5.3.5. 標準的なオプション・アクション

    * 15.5.3.6. 標準のオプション型

    * 15.5.3.7. 引数を解析する

    * 15.5.3.8. オプション解析器への問い合わせと操作

    * 15.5.3.9. オプション間の衝突

    * 15.5.3.10. クリーンアップ

    * 15.5.3.11. その他のメソッド

  * 15.5.4. オプション処理コールバック

    * 15.5.4.1. callbackオプションの定義

    * 15.5.4.2. コールバック関数はどのように呼び出されるか

    * 15.5.4.3. コールバック中で例外を送出する

    * 15.5.4.4. コールバックの例 1: ありふれたコールバック

    * 15.5.4.5. コールバックの例 2: オプションの順番をチェックする

    * 15.5.4.6. コールバックの例 3: オプションの順番をチェックする (
      汎 用的)

    * 15.5.4.7. コールバックの例 4: 任意の条件をチェックする

    * 15.5.4.8. コールバックの例5: 固定引数

    * 15.5.4.9. コールバックの例6: 可変個の引数

  * 15.5.5. "optparse" の拡張

    * 15.5.5.1. 新しい型の追加

    * 15.5.5.2. 新しいアクションの追加

* 15.6. "getopt" --- C 言語スタイルのコマンドラインオプションパーサ

* 15.7. "logging" --- Python 用ロギング機能

  * 15.7.1. ロガーオブジェクト

  * 15.7.2. ロギングレベル

  * 15.7.3. ハンドラオブジェクト

  * 15.7.4. フォーマッタオブジェクト

  * 15.7.5. フィルタオブジェクト

  * 15.7.6. LogRecord オブジェクト

  * 15.7.7. LogRecord 属性

  * 15.7.8. LoggerAdapter オブジェクト

  * 15.7.9. スレッドセーフ性

  * 15.7.10. モジュールレベルの関数

  * 15.7.11. warnings モジュールとの統合

* 15.8. "logging.config" --- ロギングの環境設定

  * 15.8.1. 環境設定のための関数

  * 15.8.2. 環境設定辞書スキーマ

    * 15.8.2.1. 辞書スキーマの詳細

    * 15.8.2.2. 増分設定

    * 15.8.2.3. オブジェクトの接続

    * 15.8.2.4. ユーザ定義オブジェクト

    * 15.8.2.5. 外部オブジェクトへのアクセス

    * 15.8.2.6. 内部オブジェクトへのアクセス

    * 15.8.2.7. インポート解決とカスタムインポーター

  * 15.8.3. 環境設定ファイルの書式

* 15.9. "logging.handlers" --- ロギングハンドラ

  * 15.9.1. StreamHandler

  * 15.9.2. FileHandler

  * 15.9.3. NullHandler

  * 15.9.4. WatchedFileHandler

  * 15.9.5. RotatingFileHandler

  * 15.9.6. TimedRotatingFileHandler

  * 15.9.7. SocketHandler

  * 15.9.8. DatagramHandler

  * 15.9.9. SysLogHandler

  * 15.9.10. NTEventLogHandler

  * 15.9.11. SMTPHandler

  * 15.9.12. MemoryHandler

  * 15.9.13. HTTPHandler

* 15.10. "getpass" --- 可搬性のあるパスワード入力機構

* 15.11. "curses" --- 文字セル表示を扱うための端末操作

  * 15.11.1. 関数

  * 15.11.2. Window オブジェクト

  * 15.11.3. 定数

* 15.12. "curses.textpad" --- curses プログラムのためのテキスト入力
  ウ ィジェット

  * 15.12.1. Textbox オブジェクト

* 15.13. "curses.ascii" --- ASCII 文字に関するユーティリティ

* 15.14. "curses.panel" --- curses のためのパネルスタック拡張

  * 15.14.1. 関数

  * 15.14.2. Panel オブジェクト

* 15.15. "platform" ---  実行中プラットフォームの固有情報を参照する

  * 15.15.1. クロスプラットフォーム

  * 15.15.2. Java プラットフォーム

  * 15.15.3. Windows プラットフォーム

    * 15.15.3.1. Win95/98 固有

  * 15.15.4. Mac OS プラットフォーム

  * 15.15.5. Unix プラットフォーム

* 15.16. "errno" --- 標準の errno システムシンボル

* 15.17. "ctypes" --- Pythonのための外部関数ライブラリ

  * 15.17.1. ctypesチュートリアル

    * 15.17.1.1. 動的リンクライブラリをロードする

    * 15.17.1.2. ロードしたdllから関数にアクセスする

    * 15.17.1.3. 関数を呼び出す

    * 15.17.1.4. 基本データ型

    * 15.17.1.5. 続・関数を呼び出す

    * 15.17.1.6. 自作のデータ型とともに関数を呼び出す

    * 15.17.1.7. 要求される引数の型を指定する (関数プロトタイプ)

    * 15.17.1.8. 戻り値の型

    * 15.17.1.9. ポインタを渡す(または、パラメータの参照渡し)

    * 15.17.1.10. 構造体と共用体

    * 15.17.1.11. 構造体/共用体アライメントとバイトオーダー

    * 15.17.1.12. 構造体と共用体におけるビットフィールド

    * 15.17.1.13. 配列

    * 15.17.1.14. ポインタ

    * 15.17.1.15. 型変換

    * 15.17.1.16. 不完全型

    * 15.17.1.17. コールバック関数

    * 15.17.1.18. dllからエクスポートされている値へアクセスする

    * 15.17.1.19. びっくり仰天

    * 15.17.1.20. 可変サイズのデータ型

  * 15.17.2. ctypesリファレンス

    * 15.17.2.1. 共有ライブラリを見つける

    * 15.17.2.2. 共有ライブラリをロードする

    * 15.17.2.3. 外部関数

    * 15.17.2.4. 関数プロトタイプ

    * 15.17.2.5. ユーティリティ関数

    * 15.17.2.6. データ型

    * 15.17.2.7. 基本データ型

    * 15.17.2.8. 構造化データ型

    * 15.17.2.9. 配列とポインタ
