python

Django におけるスレッド

Threading in Django | Artful Code 本稿は上記リンク元の和訳になります 転載ミス、誤訳等については適宜修正します web 開発で利便性の高いスレッドの使用方法は珍しく、特に Python のグローバルインタープリタロックと共に使用するのは稀です。これに対…

テキストファイルで使用されている文字コードを目視で確認する

呼称: 文字コード指定によるファイルオープン 目的: テキストファイルで使用されている文字コードを判別する 特徴: Python がサポートしている文字コードを全て試せる 用例: テキストファイルがどの文字コードを使用しているか分からないときに使用する 備考…

inspect モジュールでオブジェクトの情報を取得する

呼称: インスペクション機能の触り 目的: inspect モジュールの使用方法を学ぶ 特徴: ログ出力時に pprint モジュールを使うと整形されて見易い 用例: 実行中のソースの行番号を出力する、デバッグ 備考: inspect モジュールはもっと奥が深そうPython で実行…

HTML タグ付き文字列を動的に生成する

2011/1/13 追記 リファクタリングしました。 HTML タグ付き文字列を動的に生成する実装のリファクタリング - forest book 呼称: HTML タグ付き文字列の生成 目的: HTML タグ付き文字列を取得する 特徴: if 文を使用せずに分岐制御を行う 用例: HTML タグ付き…

(第2回)(第3回)Zope/Plone開発勉強会

(第2回)Zope/Plone開発勉強会と(第3回)Zope/Plone開発勉強会に参加してきました。第2回(先月)のときは、PyLucene のビルドができない、原因が分からないとはまってしまい、ブログを書けるほどの成果がなかったので2ヶ月まとめて書きます(^ ^;;タイムテーブル…

リストからディクショナリへの変換の最適化にみる賢明な Python プログラミング

Python クックブック 第2版「4.12 キーと値が交互に入ったリストから dict を構築」というレシピがあります。 原典: Dicts from lists « Python recipes « ActiveState Codeリストからディクショナリを生成する方法として、zip() と dict() 関数を組み合わせ…

Python のループ処理の最適化

元ネタ: このページは削除されました これが「やっぱPythonですって」と言いたい人の一助になれば完璧。 さくらのブログ これは素晴らしい結果です(^ ^;; しかしながら「ランダム数値リスト作成」で僅かに Ruby に遅れを取っています。 以下がそのソースコー…

メールヘッダから日付を取得する

呼称: メールヘッダパーサー for Date 目的: メールヘッダから Date フィールドの日付を取得する 特徴: 意図したフォーマットでない場合はそのまま表示する 用例: メール日付を取得する 備考: email モジュールの使い方のお勉強このプログラム自体にあまり意…

"An O(NP) Sequence Comparison Algorithm" with Python の添削

元ネタ: "An O(NP) Sequence Comparison Algorithm" with Python - 考える人、コードを書く人おとなり日記をたまたま見たところ、面白そうな内容でしたので添削してみました。 ドキュメンテーション文字列をクラスの中に入れました クラス名を Python コード…

素数を求めるアルゴリズム -エラトステネスの篩(ふるい)-

呼称: エラトステネスの篩(ふるい) 目的: 素数を求める 特徴: enumerate() を使うと便利ですアルゴリズムそのものとは全然関係ないのですが、お仕事でエラトステネスさんに由来する名前に関わっているので、実装してみました(^ ^;;アルゴリズムの解説を Pyth…

クロージャによるタグパーサー

呼称: クロージャによるタグパーサー 目的: 任意の区切り文字でタグをパースする(タグの入れ子は不可) 特徴: クロージャを生成する 用例: はてなブックマークのタグを解析する 備考: クロージャの勉強にも良いかも?2009/10/09 空白文字類を除外するように変…

pyclbr - Python クラスブラウザサポート

pyclbr – Python クラスブラウザサポート - Python Module of the Week へ移転しました。

mmap – 直接的なコンテンツ読み込みの代替となるメモリマップ

mmap – メモリマップファイル - Python Module of the Week へ移転しました。

(第1回)Zope/Plone開発勉強会

(第1回)Zope/Plone開発勉強会に参加してきました。 タイムテーブルは以下のような感じです。 11:00-11:30 自己紹介とか 11:30-12:00 やること決めたり準備とか 12:00-13:00 昼食 13:00-17:00 もくもくと開発 17:00-18:00 成果発表(できたとこまで) 18:00-18:…

python で SMTP 認証を行ってメールを送信する

呼称: Snakemail 目的: コマンドラインで使える「ちょっとした」メール送信クライアントを作成する 特徴: 任意のファイルを添付できる(たぶん)、SMTP 認証に対応している 用例: テストスクリプトに組み込んで、実行結果のログをメールに添付して送信する 備…

Python Code Reading 10 裏話

Python Code Reading 10 で発表してきました。 資料は以下になります。 heapq で学ぶヒープの実装とその用途公けの場でお話するのは、Linux Conference 2003「全文検索システム Akao の検索手法と性能評価」以来だと思います。また、前職の2年間、社内で開発…

json - JavaScript Object Notation Serializer

json – JavaScript Object Notation シリアライザ - Python Module of the Week へ移転しました。

which コマンドの実装の書き直し

会社の先輩が python を勉強し始めました。それならっ!と簡単なサンプルを提示することにしました。以前、which コマンドを python で書いたことを思い出して探してみました。ちょうど python を勉強し始めたときで、約1年2ヶ月前に書いたコードが以下にな…

signal - 非同期のシステムイベント通知を受け取る

signal – 非同期のシステムイベント通知を受け取る - Python Module of the Week へ移転しました。

Python Code Reading と PyMOTW

2009/06/16(火) Python Code Reading 10 で講師を務めることになりました。柴田さんから PyMOTW を参考にして、標準モジュールの使い方についてお話してみないかというご連絡を頂きました。これなら、私でもできるかなと思い、二つ返事で務める事にしました…

tempfile - 一時的なファイルシステムリソースを作成する

tempfile – 一時的なファイルシステムリソースを作成する - Python Module of the Week へ移転しました。

heapq - インプレースヒープソートアルゴリズム

heapq – インプレースヒープソートアルゴリズム - Python Module of the Week へ移転しました。

base64 - バイナリデータを ASCII 文字へエンコードする

base64 – バイナリデータを ASCII 文字へエンコードする - Python Module of the Week へ移転しました。

Python 3.0 Inside Out

第6回 InfoTalk で柴田さんの Python 3.0 Inside発表を聴講してきました。2009/05/21 資料とリファレンスのリンクを追記発表資料 20090515shibata.pdf がアップされていました。 参考までに作成したリアルタイム・マインドマップをアップしました。(完全網羅…

curses を用いた TUI ダイアログの作成

呼称: curses によるダイアログメニュー 目的: TUI のダイアログメニューを作成する 特徴: ガリガリちから技で座標位置やキー入力を処理 用例: GUI のない環境でメニューを表示する 備考: dialog コマンドでも代用可python で curses ライブラリを使用してメ…

文字列の大文字・小文字の色々な変換

呼称: 文字列の大文字・小文字の色々な変換 目的: 目的に応じて文字列を大文字、又は小文字へ変換する 特徴: ジェネレータを用いる事で柔軟な変換ができる 用例: 文字列の比較演算の前処理や出力のフォーマット整形等 備考: ライブラリも色々、やり方も色々…

パスワードの入力

C 言語でパスワードのような標準入力から入力された文字を表示しないプログラムのサンプルを作成してみました。ioctl() で、termio 構造体の c_lflag(ローカル・モード・フラグ)を変更することによって、容易に端末の ECHO 属性を変更できるようです。ioctl…

filter を用いたファイル名の一括変換

元ネタ: ファイル名の一括変換この手の問題は高階関数を使ったら簡単にできそう、、、と思っていざ書いてみたら、意外と難しかったです。正規表現オブジェクトをグローバル変数にしているのが何か気持ち悪い(- -#自己評価としては「もう少しがんばりましょう…

オブジェクトの存在意義は責任の有無?

ネタ元: オブジェクト指向の骨頂は実世界のモデリングという原則 の元ネタ: オブジェクト指向的HelloWorld のさらに元ネタ: RE:いろんな言語でオブジェクト指向的Hello World…んでは、awk でチャレンジってことで。でも時間がねい。 のさらにさらに元ネタ: R…

Python のソースを読むのにタグジャンプ機能を利用する

vi(vim) で Python のソースを読むのに ctags を使ってみました。調べていると、別途、ptags.py と言うものもあり、それを用いてもタグファイルを作成してくれるようです。 basic Tip #1188: Use ptags.py to generate tags file for python によると、Pytho…