Python Module of the Week について¶
PyMOTW は Doug Hellmann が執筆しているブログの連載です。当初は定期的に何かを書く習慣を身に着ける方法として始めました。この連載の主要な点は Python 標準ライブラリモジュールのサンプルコードを書くことです。
最新リリースや更新については、プロジェクトのホームページ(http://pymotw.com/ )を参照してください。ソースコードは http://bitbucket.org/dhellmann/pymotw/ から取得できます。
標準ライブラリの完全なドキュメントは Python web サイト(http://docs.python.org/library/) で見つけることができます。
ツール¶
PyMOTW のソースは reStructuredText です。 Sphinx を利用して HTML と PDF ファイルを作成しています。
すべてのサンプルプログラムの出力は、CPython (バージョンは以下を参照) で生成され、 cog を使用して本文に挿入しています。
$ python -V
Python 2.7.2
Warning
本連載では、標準ライブラリの初期のバージョンでは利用できない機能も紹介している可能性があります。疑問に思ったら、使用している Python のバージョンに関する標準ドキュメントを調べてください。
フィード登録¶
PyMOTW の新しい記事が私のブログ(http://blog.doughellmann.com/)に投稿されると、新しい記事になります。 http://feeds.doughellmann.com/PyMOTW から RSS や メール で更新情報を取得できます。
motw コマンドラインインタフェース¶
PyMOTW は開発中にサンプルコードへ簡単にアクセスできるようにコマンドラインプログラム motw が用意されています。単純に motw module と実行するとローカルにあるモジュールの HTML ファイルを表示します。またフォーマットを変更して記事を表示するオプションがあります(詳細は -h の出力を参照)。
使用方法: motw [options] <module_name>
オプション:
-h, --help ヘルプメッセージを表示する -t, --text 標準出力にヘルプのプレーンテキスト版を表示する -w, --web ウェブからヘルプの HTML 版を開く --html インストールされたファイルからヘルプの HTML 版を開く
PyMOTW をインタラクティブインタプリタで使用する¶
PyMOTW の記事を Python インタラクティブインタプリタの実行中に見ることができます。 PyMOTW をインポートして motw() 関数を __builtins__ 名前空間へ追加してください。そしてインポートされたモジュールのヘルプを見るために motw(module) を実行してください。見たいモジュールがインポートされていないときはモジュール名をクォートしてください。
$ python
Python 2.6.2 (r262:71600, Apr 16 2009, 09:17:39)
[GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyMOTW
>>> motw('atexit')
atexit -- Call functions when a program is closing down
*******************************************************
...
翻訳や他のバージョン¶
Junjie Cai (蔡俊杰) と Yan Sheng (盛艳) は PyMOTWCN (http://code.google.com/p/pymotwcn/) という google code プロジェクトを始めました。 http://www.vbarter.cn/pymotw/ に完全な翻訳を投稿しています。
Ralf Schönian はアルファベット順に PyMOTW をドイツ語に翻訳しています。その成果は彼の web サイト http://schoenian-online.de/pymotw.html で確認できます。Ralf はドイツの pyCologne ユーザグループのアクティブメンバーで、オープンソースの英語/ドイツ語のボキャブラリトレーナーである pyVoc (http://code.google.com/p/pyvoc/) の開発者です。
Roberto Pauletto が http://robyp.x10hosting.com/ でイタリア語翻訳をしています。Roberto は昼間は Windows アプリケーションを C# で開発していて、自宅では Linux と Python をいじくり回しています。彼は最近、開発した全てのシステム管理用スクリプトを Perl から Python へ移行しました。
Ernesto Rico Schmidt は英語版の投稿を見ながらスペイン語翻訳を提供しています。Ernesto は Bolivia に住んでいて、Python を使用する Bolivian Free Software コミュニティメンバーへの貢献手段の1つの例として翻訳しています。スペイン語の記事の完全なリストは http://denklab.org/articles/category/pymotw/ で発見できます。 RSS フィード も提供されています。
Tetsuya Morimoto は日本語翻訳をしています。Tetsuya は Python を 1.5 年程度使っています。彼は Linux ディストリビュータで働いていた頃 RPM パッケージのビルド等に yum, anaconda や rpm-tools で Python を使用していました。現在は自分用のツールを開発したりして Django, mercurial や wxPython 等のアプリケーションフレームワークに興味を持っています。Tetsuya は Python Japan User’s Group や Python Code Reading のメンバーです。日本語翻訳は http://ja.pymotw.com/ にあります。
抄録¶
Gerard Flanagan は The Hazel Tree という “Python 抄録” を作成しています。彼は Python に関連する新旧のリファレンス資料を reStructuredText へ変換しています。そして、その結果から1つの検索可能なリポジトリを構築します。私は Mark Pilgrim, Fredrik Lundh, Andrew Kuchling のような著者やさらに他の著者も増え続けるそのリストへ PyMOTW が追加されてとても嬉しいです。
その他の貢献者¶
オリジナルの HTML から reST への変換を手伝ってくれた John Benediktsson に感謝します。
Copyright and Licensing¶
All of the prose from the Python Module of the Week is licensed under a Creative Commons Attribution, Non-commercial, Share-alike 3.0 license. You are free to share and create derivative works from it. If you post the material online, you must give attribution and link to the PyMOTW home page (http://www.doughellmann.com/PyMOTW/). You may not use this work for commercial purposes. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.
The source code included here is copyright Doug Hellmann and licensed under the BSD license.
Copyright Doug Hellmann, All Rights Reserved
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Doug Hellmann not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission.
DOUG HELLMANN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL DOUG HELLMANN BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.