2007-07-01から1ヶ月間の記事一覧

Tumblrへの投稿メール文字化け対策

Tumblrをメモ代わりに使おうかなと思った。Tumblrはメール投稿のための送信先アドレスを発行してくれるのだけど、日本語が文字化けする。 なので別アドレスで中継してAPIにPOSTするスクリプトを書いた。誰かすでに作ってそうだが・・・。 POSTできるのはとり…

ASPN : Python Cookbook : Unix rename (mv) front-end with GNU Readline

対話的なmvコマンド。元のファイルだけ引数として渡すと、バッファ上で第2引数を編集して実行できる。 べつに便利そうじゃないが・・・。調べたこと readlineモジュール rlcompleterモジュール shutilモジュール readlineモジュール コマンドライン表示をい…

ASPN : Python Cookbook : emulate collections.defaultdict

Python2.5では標準モジュールにdefaultdictという辞書型のクラスがあってキーが存在しない時のデフォルト値を設定できる。 プチ便利そうなので何かの出現回数のカウントアップとかはこれで。 で、2.4以前でも同じことをするためのレシピ。調べたこと default…

ASPN : Python Cookbook : subscriptable generator

内部キャッシュを使っていてリストのようにアクセスできるジェネレータ、とのこと。 ジェネレータって関数のジェネレータとは違うよね。 キャッシュにはSQLObjectを使っていて富豪的な感じ。PickleColにオブジェクトをそのまんまつっこんでいる。三項演算子…

ASPN : Python Cookbook : Callback Pattern

今日もデコレータ。コールバック関数を書くための簡単フレームワーク的なレシピで、昨日のデコレータの使い方と全然違う。メタクラスを使えばもっとエレガントに書けるかも、とのこと。クラスのstaticmethodをデコレータとして、デコレートされた関数オブジ…

書くの忘れてたけど

Pythonは2.4.3と2.5.1で試してます。

ASPN : Python Cookbook : Recursion/loop prevention function decorator

引数を監視して無限ループを検出するデコレータ。状態を持つデコレータはこうすればきれいに書けるのか。 return decorate()でインスタンスを返す。こいつに__call__を実装しとけばデコレータ関数として呼ばれる。__call__は、引数がすでに使われているかど…

ASPN : Python Cookbook : print statement: battle with UnicodeEncodeError

Python Workshop the Edgeの懇親会で少し話に出たけど、UnicodeEncodeError、UnicodeDecodeErrorの動きが微妙に分からない。同じ標準出力に吐くのでも、ファイルにリダイレクトしたらエラーになるとか。でこれはエラーが出る場合は16進表記で書き出すという…

ASPN : Python Cookbook : Semi-automatic resource management with AutoClose

"Python does not make any guarantee at all about *when* the destructor will be called."というわけで、__del__に書いたコードが想定どおりに動かないケースが紹介されている。 で終了時に確実にインスタンスの後かたづけをするためのレシピ。AutoClose…

改題しました

Python Workshop the Edge 2007のセミナー、懇親会に出て触発されたので、ここはPython中心の勉強メモにすることにしました。 で、タイトルを「もにそく、とな?」→「import nowhere」と改めました。とりあえず「Recipes from the Python Cookbook」あたりを…