Pythonで使ってみたライブラリ

Pythonで使ってみたライブラリをちょいちょいメモります。

UserDict

ver.: 2.5
date: 2011/1/13
simple_cookie.pyというクッキーを操作するためのライブラリ内で使用していたため、少々調べてみました。
これは、"http://www.python.jp/doc/2.5/lib/module-UserDict.html"にある通り辞書オブジェクトを作る際のラッパーでした。自分でクラスを定義した際に、そのクラスに辞書と同等のインタフェースを持たせたいと考えた時に使うもののようです。クラスでDictを継承するという方法も取れるのでしょうが、辞書の一部のインタフェースのみ持たせる場合に有効なのかなと感じました。UserDict.DictMixinの場合、本当に最小限のインタフェースしかMixinされません。

traceback

ver.: 2.6
例外が発生した際のスタックトレースを取得するために使用しました。
ただし、関数をコールした箇所のスタックトレースとなってしまうため、例外処理のcatch句にてトレース情報取得のために使用しようとした場合、少々物足りない感じがありました。できれば、例外発生箇所の情報を取得したい感じです。

Cookie

ver.: 2.6
HTTPリクエスト/レスポンスのCokkieを処理するときに使用しました。
Cookieの仕様が把握しきれていない自分としては色々助けてもらえました。
ただ、ポリシー周りの仕様がまだよくなわってないので、なんとなく使ってる、使えてる感じでした。

urlparse

ver.: 2.6
ちょいとURLを解析しなければならなくなった時に使用しました。
いつもは正規表現で必要な部分のみを抽出することがほとんどですが、簡単な処理をするだけならurlparseで十分と思います。
URL を解釈して 6 つの構成要素(scheme://netloc/path;parameters?query#fragment)にしてくれるので楽チンです。

cgi.parse_qs

ver.: 2.5
クエリ文字列を解析する際に、自分でspliteして処理をおこなうかどうか考えましたが、cgiモジュールに関数があったはずなので、そちらを探して使いました。クエリ文字列まで用意できれば、後はパースしてくれます。ただし注意点としては、一つのkeyに対してvalueが複数個あることを想定してるため、valueが配列で入っているという点です。