## 11.2.5 関数

より細かくコントロールしたり、このモジュールで実装されている アルゴリズムを他の状況で利用したい場合には、これらの関数が 便利です。

`parse`( | fp[, keep_blank_values[, strict_parsing]])

  環境変数、またはファイルからからクエリを解釈します (ファイルは 標準で `sys.stdin` になります) keep_blank_values および strict_parsing パラメタはそのまま `parse_qs()` に 渡されます。

`parse_qs`( | qs[, keep_blank_values[, strict_parsing]])

  文字列引数として渡されたクエリ文字列 (application/x-www-form-urlencoded 型のデータ) を 解釈します。解釈されたデータは辞書として返されます。 辞書のキーは一意なクエリ変数名で、値は各変数名に対する値からなる リストです。

  オプションの引数 keep_blank_values は、 URL エンコード されたクエリ中で値の入っていないものを空文字列と見なすかどうか を示すフラグです。値が真であれば、値の入っていないフィールド は空文字列のままになります。標準では偽で、値の入っていない フィールドは無視され、そのフィールドはクエリに含まれていない ものとして扱われます。

  オプションの引数 strict_pasing はパース時のエラーをどう 扱うかを決めるフラグです。値が偽なら (標準の設定です)、 エラーは暗黙のうちに無視されます。値が真なら、ValueError 例外 が送出されます。

  辞書等をクエリ文字列に変換する場合は``urllib`. urlencode()`関数を使用してください。

`parse_qsl`( | qs[, keep_blank_values[, strict_parsing]])

  文字列引数として渡されたクエリ文字列 (application/x-www-form-urlencoded 型のデータ) を 解釈します。解釈されたデータは名前と値のペアからなるリストです。

  オプションの引数 keep_blank_values は、 URL エンコード されたクエリ中で値の入っていないものを空文字列と見なすかどうか を示すフラグです。値が真であれば、値の入っていないフィールド は空文字列のままになります。標準では偽で、値の入っていない フィールドは無視され、そのフィールドはクエリに含まれていない ものとして扱われます。

  オプションの引数 strict_pasing はパース時のエラーをどう 扱うかを決めるフラグです。値が偽なら (標準の設定です)、 エラーは暗黙のうちに無視されます。値が真なら、ValueError 例外 が送出されます。

  ペアのリストからクエリ文字列を生成する場合は、`urllib`.urlencode() 関数を使用します。

`parse_multipart`( | fp, pdict)

  (ファイル入力のための) multipart/form-data 型の入力を 解釈します。引数は入力ファイルを示す fp と Content-Type: ヘッダ内の他のパラメタを含む辞書 pdict です。

  `parse_qs()` と同じく辞書を返し、キーはフィールド名で、 対応する値は各フィールドの値によるリストです。この関数は簡単に 使うことができますが、数メガバイトのデータがアップロードされる と考えられる場合にはあまり適していません -- その場合、 より柔軟性のある `FieldStorage` を代りに使ってください。

  マルチパートデータがネストしている場合、各パートを解釈する ことはできないので注意してください -- 代りに `FieldStorage` を使ってください。

`parse_header`( | string)

  (Content-Type: のような) MIME ヘッダを解釈し、ヘッダの 主要値と各パラメタからなる辞書にします。

`test`( | )

  メインプログラムから利用できる堅牢性テストを行う CGI スクリプトです。 最小の HTTP ヘッダと HTML フォームからスクリプトに提供された全ての 情報を書式化して出力します。

`print_environ`( | )

  シェル変数を HTML に書式化して出力します。

`print_form`( | form)

  フォームを HTML に初期化して出力します。

`print_directory`( | )

  現在のディレクトリを HTML に書式化して出力します。 Format the current directory in HTML.

`print_environ_usage`( | )

  意味のある (CGI の使う) 環境変数を HTML で出力します。

`escape`( | s[, quote])

  文字列 s 中の文字 "`&`"、 "`<`"、 および "`>`" を HTML で正しく表示できる文字配列に変換します。 それらの文字が HTML に含まれるかもしれないようなテキストを出力 する必要があるときに使ってください。 オプションの引数 quote の値が真であれば、二重引用符文字 ("`"`") も変換されます; この機能は、例えば `<A HREF="...">` といったような HTML の属性値を出力に含めるのに 役立ちます。クオートされる値が単引用符か二重引用符、またはその両方 を含む可能性がある場合は、代りに `xml.sax.saxutils` の `quoteattr()` 関数の利用を検討してください。