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

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

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

  * 16.1.1. ファイル名、コマンドライン引数、および環境変数

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

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

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

    * 16.1.4.1. ターミナルのサイズの問い合わせ

    * 16.1.4.2. ファイル記述子の継承

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

    * 16.1.5.1. Linux 拡張属性

  * 16.1.6. プロセス管理

  * 16.1.7. スケジューラーへのインターフェイス

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

  * 16.1.9. 乱数

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

  * 16.2.1. 概要

    * 16.2.1.1. テキスト I/O

    * 16.2.1.2. バイナリ I/O

    * 16.2.1.3. Raw I/O

  * 16.2.2. 高水準のモジュールインターフェイス

    * 16.2.2.1. インメモリー ストリーム

  * 16.2.3. クラス階層

    * 16.2.3.1. I/O 基底クラス

    * 16.2.3.2. 生ファイルI/O

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

    * 16.2.3.4. テキスト I/O

  * 16.2.4. 性能

    * 16.2.4.1. バイナリ I/O

    * 16.2.4.2. テキスト I/O

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

    * 16.2.4.4. リエントラント性

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

  * 16.3.1. 関数

  * 16.3.2. Clock ID Constants

  * 16.3.3. Timezone Constants

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

  * 16.4.1. 使用例

    * 16.4.1.1. パーサーを作る

    * 16.4.1.2. 引数を追加する

    * 16.4.1.3. 引数を解析する

  * 16.4.2. ArgumentParser オブジェクト

    * 16.4.2.1. "prog"

    * 16.4.2.2. usage

    * 16.4.2.3. description

    * 16.4.2.4. epilog

    * 16.4.2.5. parents

    * 16.4.2.6. formatter_class

    * 16.4.2.7. prefix_chars

    * 16.4.2.8. fromfile_prefix_chars

    * 16.4.2.9. argument_default

    * 16.4.2.10. allow_abbrev

    * 16.4.2.11. conflict_handler

    * 16.4.2.12. add_help

  * 16.4.3. add_argument() メソッド

    * 16.4.3.1. name または flags

    * 16.4.3.2. action

    * 16.4.3.3. nargs

    * 16.4.3.4. const

    * 16.4.3.5. default

    * 16.4.3.6. type

    * 16.4.3.7. choices

    * 16.4.3.8. required

    * 16.4.3.9. help

    * 16.4.3.10. metavar

    * 16.4.3.11. dest

    * 16.4.3.12. Action クラス

  * 16.4.4. parse_args() メソッド

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

    * 16.4.4.2. 不正な引数

    * 16.4.4.3. "-" を含む引数

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

    * 16.4.4.5. "sys.argv" 以外

    * 16.4.4.6. Namespace オブジェクト

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

    * 16.4.5.1. サブコマンド

    * 16.4.5.2. FileType オブジェクト

    * 16.4.5.3. 引数グループ

    * 16.4.5.4. 相互排他

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

    * 16.4.5.6. ヘルプの表示

    * 16.4.5.7. 部分解析

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

    * 16.4.5.9. 終了メソッド

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

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

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

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

  * 16.6.2. ロギングレベル

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

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

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

  * 16.6.6. LogRecord オブジェクト

  * 16.6.7. LogRecord 属性

  * 16.6.8. LoggerAdapter オブジェクト

  * 16.6.9. スレッドセーフ性

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

  * 16.6.11. モジュールレベル属性

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

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

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

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

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

    * 16.7.2.2. 増分設定

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

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

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

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

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

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

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

  * 16.8.1. StreamHandler

  * 16.8.2. FileHandler

  * 16.8.3. NullHandler

  * 16.8.4. WatchedFileHandler

  * 16.8.5. BaseRotatingHandler

  * 16.8.6. RotatingFileHandler

  * 16.8.7. TimedRotatingFileHandler

  * 16.8.8. SocketHandler

  * 16.8.9. DatagramHandler

  * 16.8.10. SysLogHandler

  * 16.8.11. NTEventLogHandler

  * 16.8.12. SMTPHandler

  * 16.8.13. MemoryHandler

  * 16.8.14. HTTPHandler

  * 16.8.15. QueueHandler

  * 16.8.16. QueueListener

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

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

  * 16.10.1. 関数

  * 16.10.2. Window オブジェクト

  * 16.10.3. 定数

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

  * 16.11.1. Textbox オブジェクト

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

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

  * 16.13.1. 関数

  * 16.13.2. Panel オブジェクト

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

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

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

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

    * 16.14.3.1. Win95/98 固有

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

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

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

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

  * 16.16.1. ctypesチュートリアル

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

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

    * 16.16.1.3. 関数を呼び出す

    * 16.16.1.4. 基本データ型

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

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

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

    * 16.16.1.8. 戻り値の型

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

    * 16.16.1.10. 構造体と共用体

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

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

    * 16.16.1.13. 配列

    * 16.16.1.14. ポインタ

    * 16.16.1.15. 型変換

    * 16.16.1.16. 不完全型

    * 16.16.1.17. コールバック関数

    * 16.16.1.18. dllからエクスポートされた値へアクセスする

    * 16.16.1.19. びっくり仰天

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

  * 16.16.2. ctypesリファレンス

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

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

    * 16.16.2.3. 外部関数

    * 16.16.2.4. 関数プロトタイプ

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

    * 16.16.2.6. データ型

    * 16.16.2.7. 基本データ型

    * 16.16.2.8. 構造化データ型

    * 16.16.2.9. 配列とポインタ
