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

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

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

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

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

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

  * ファイル記述子の操作

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

    * ファイル記述子の継承

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

    * Linux 拡張属性

  * プロセス管理

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

  * 雑多なシステム情報

  * 乱数

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

  * 概要

    * テキスト I/O

    * バイナリ I/O

    * Raw I/O

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

  * クラス階層

    * I/O 基底クラス

    * 生ファイルI/O

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

    * テキスト I/O

  * 性能

    * バイナリ I/O

    * テキスト I/O

    * マルチスレッディング

    * リエントラント性

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

  * 関数

  * Clock ID Constants

  * Timezone Constants

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

  * 使用例

    * パーサーを作る

    * 引数を追加する

    * 引数を解析する

  * ArgumentParser オブジェクト

    * "prog"

    * usage

    * description

    * epilog

    * parents

    * formatter_class

    * prefix_chars

    * fromfile_prefix_chars

    * argument_default

    * allow_abbrev

    * conflict_handler

    * add_help

    * exit_on_error

  * add_argument() メソッド

    * name または flags

    * action

    * nargs

    * const

    * default

    * type

    * choices

    * required

    * help

    * metavar

    * dest

    * Action クラス

  * parse_args() メソッド

    * オプション値の文法

    * 不正な引数

    * "-" を含む引数

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

    * "sys.argv" 以外

    * Namespace オブジェクト

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

    * サブコマンド

    * FileType オブジェクト

    * 引数グループ

    * 相互排他

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

    * ヘルプの表示

    * 部分解析

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

    * 終了メソッド

    * 混在した引数の解析

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

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

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

  * ロガーオブジェクト

  * ロギングレベル

  * ハンドラオブジェクト

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

  * フィルタオブジェクト

  * LogRecord オブジェクト

  * LogRecord 属性

  * LoggerAdapter オブジェクト

  * スレッドセーフ性

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

  * モジュールレベル属性

  * warnings モジュールとの統合

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

  * 環境設定のための関数

  * Security considerations

  * 環境設定辞書スキーマ

    * 辞書スキーマの詳細

    * 増分設定

    * オブジェクトの接続

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

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

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

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

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

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

  * StreamHandler

  * FileHandler

  * NullHandler

  * WatchedFileHandler

  * BaseRotatingHandler

  * RotatingFileHandler

  * TimedRotatingFileHandler

  * SocketHandler

  * DatagramHandler

  * SysLogHandler

  * NTEventLogHandler

  * SMTPHandler

  * MemoryHandler

  * HTTPHandler

  * QueueHandler

  * QueueListener

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

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

  * 関数

  * Window オブジェクト

  * 定数

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

  * Textbox オブジェクト

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

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

  * 関数

  * Panel オブジェクト

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

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

  * Java プラットフォーム

  * Windows プラットフォーム

  * macOS Platform

  * Unix プラットフォーム

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

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

  * ctypesチュートリアル

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

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

    * 関数を呼び出す

    * 基本データ型

    * 続・関数を呼び出す

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

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

    * 戻り値の型

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

    * 構造体と共用体

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

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

    * 配列

    * ポインタ

    * 型変換

    * 不完全型

    * コールバック関数

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

    * びっくり仰天

    * 可変サイズのデータ型

  * ctypesリファレンス

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

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

    * 外部関数

    * 関数プロトタイプ

    * ユーティリティー関数

    * データ型

    * 基本データ型

    * 構造化データ型

    * 配列とポインタ
