Entries from 2007-01-01 to 1 year

[Python] どう書く?orgのカバレッジと投稿数の時系列

はじめに どう書く?org (http://ja.doukaku.org/) の言語ごとの、カバレッジと投稿数の時間変化を表示するサイトを作成しました。 URL 以下のURLから参照できます。 http://nekomimists.ddo.jp/~tom/cgi-bin/doukaku-timeline/index.py ソースコード ソース…

[Python] pdumpfsっぽいバックアップツールpydumpfs 0.1公開

pydumpfsとは、なんですか? pydumpfsは、バックアップツールです。以下のような特徴を持っています。 バックアップディレクトリの下に、「年/月/日/時分秒.ミリ秒」のディレクトリを作成します。これにより、バックアップした時点でのスナップショットを保存…

[Python][Twisted] twistd

環境 この記事の内容は、Ubuntu Linux 6.10, Python 2.4.4c1, Twisted 2.4.0で確認しました。 はじめに id:SumiTomohiko:20070712:1184244636でTwistedのリアクタの話をした際、yasusiiさん (http://lowlife.jp/yasusii/) から、 どのリアクタを使うかハード…

[Python][Twisted] twisted.internet.reactorが使えるようになるまで

環境 この記事の内容は、Ubuntu Linux 6.10, Python 2.4.4c6, Twisted 2.4.0で確認しました。 疑問点 Twistedを理解しようとして、twisted.internet.reactorはどんなモジュールだろうかと思い、/usr/lib/python2.4/site-packages/twisted/internet/reactor.p…

[Python] パッケージのバージョンを取得する方法

結論 パッケージfooのパージョンを取得したいときは、setuptoolsをインストールした後、以下のようにします。 from pkg_resources import get_distribution version = get_distribution("foo").version 議論 setuptoolsでsetup.pyを記述するとき、以下のよう…

[Python] setuptoolsを使用すると、スクリプト本体はパッケージのディレクトリ/EGG-INFO/scriptsにインストールされる。

はじめに この記事の内容は、Ubuntu Linux 6.10, Python 2.4.4c1で確認しました。 結論 以下のように、setup.pyでsetuptoolsを用い、フロントエンドとなるスクリプトpydumpfsをsetup関数のscripts引数に指定したとします。 #! python # -*- coding: utf-8 -*…

[Python][Hyper Estraier] Hyper Estraierビューワ ScandiumRider 0.2リリース

ScandiumRiderとはなんですか? ScandiumRiderとは、Hyper Estraierのインデックスを検索し、結果を表示するCUIアプリケーションです。 0.1からの変更点 検索条件入力画面はなくなりました。検索条件は、コマンドラインから入力します。 検索結果一覧画面に、…

[Python] setuptoolsでテストを実行する方法

はじめに setuptoolsはPythonのプログラムをインストールしたり配布したりするためのツールですが、これを使えば、セットアップスクリプトがsetup.pyのとき、 $ python setup.py test とすれば、テストを実行することもできるようになります。 設定方法 以下…

[Python] 文字列のインデックスを評価した値のデータ型は、文字列型である。

結論 s = "hoge" としたとき、s[0]の値は"h"ですが、この値のデータ型は文字列型です(一文字しかなくても)。 捕捉 id:ksmemo:20070701:p4で、 S = 'hoge' S[0] # 'h'でこれは当然 S[0][0][0][0][0] # 結果は'h'になる。なぜ? とあります。結論で述べた通…

[Python] "1."は、浮動小数点数である。

結論 Pythonでは、数値がピリオド"."で終了する場合、その数値は浮動小数点数になります。 >>> 1. 1.0 >>> type(1.) <type 'float'> 捕捉 id:ksmemo:20070703:p1において、「Rubyで、 >> 1.+(1) => 2 とできる。これは"1"というオブジェクトの"+"メソッドを呼び出したので</type>…

[Python] Python Workshop the Edge 2007報告

この記事について 2007年6月30日に開催された、Python Workshop the Edge 2007について報告します。私はずっとセミナーに出席していたので、この記事の内容もすべてセミナーに関してです。私がとったメモをそのまま記載するので、わかり難いところが多々ある…

[Python] setuptools

この記事について この記事は、id:SumiTomohiko:20070623:1182602060の続きです。これが最後の記事になります。 setuptoolsを拡張し、再利用する distutilsの拡張を作成する distutilsに新しいコマンドを追加したり、setupの引数を追加するのは困難です。し…

[Python] setuptools

この記事について この記事は、id:SumiTomohiko:20070622:1182537643の続きです。 setuptoolsに基づいたプロジェクトを配布する setuptoolsを使用する...バンドルせずに! あなたのユーザは自分のマシンにsetuptoolsをインストールしていないでしょうし、ある…

[Python] setuptools

この記事について この記事は、setuptools - The PEAK Developer's Centerの日本語訳です。なお、訳者は翻訳しただけで、記事の内容については確認していません。悪しからずご了承下さい。この日本語訳が何かのお役に立てたら幸いです。はてなダイアリーの字…

よつばの。読書会3rdに持ち込む本の追加

id:SumiTomohiko:20070615:1181861619に、よつばの。読書会3rdに持ち込む本を書き込みましたが、そこに以下の5冊を追加します。 番号 タイトル サークル 作家 発行日 ジャンル 備考 サークルまたは作家のウェブサイト 私の感想のURL 1 鯖 いっぴきめ 生鯖 vo…

[line.chomp!] サンシャインクリエイション36で"TurboGears x ARIA"を購入された方へ

この度は、サンシャインクリエイション36でline.chomp!の本をお手に取っていただき、ありがとうございました。しかしながら、その中でお一人だけ、付録のCD-ROMと捕捉のペーパーをお渡しするのを忘れてしまった方がいらっしゃいます。"TurboGears x ARIA"を…

よつばの。読書会3rdに持ち込み参加します。

同人誌の読書会「よつばの。読書会3rd」 (http://planchette3.net/reading/) に持ち込み参加します。持ち込むのは、以下の119冊です。 番号 タイトル サークル 作家 発行日 ジャンル 備考 サークルまたは作家のウェブサイト 私の感想のURL 1 忘れられたニッ…

[Python] setuptools

この記事について この記事は、setuptools - The PEAK Developer's Centerの日本語訳です。まだ途中ですが、先が長いので、ここで一旦公開します。なお、訳者は翻訳しただけで、記事の内容については確認していません。悪しからずご了承下さい。 setuptools…

[Python] コメント

"#"を記述すると、そこから行末までがコメントとみなされます。 >>> foo = "bar" # ここはコメントです。 Pythonには、C言語の/*...*/に相当する、複数行に渡るコメントの構文は用意されていません。しかし、インデントさえ揃っていれば、文字列だけの文が存…

[Python] 文の区切り

改行すると、文の区切りとみなされます。 >>> foo = "bar" バックスラッシュ"\"を使うと、ひとつの文を複数行に渡って記述することができます。 >>> foo =\ ... "bar" >>> foo 'bar' 1行の中で括弧が閉じられていない場合、閉じられるまで複数行に渡って括弧…

[Python] 代入

変数への代入は、等号"="を使って行います。 >>> foo = "bar" >>> foo 'bar' 複数の代入を、ひとつの代入文で書くことができます(こういう代入を、マルチターゲット代入と呼びます)。 >>> foo = bar = "baz" >>> foo 'baz' >>> bar 'baz' 代入文の左辺には…

[Python] 変数

変数には2種類あります。モジュール全体で有効なグローバル変数と、関数の内部でのみ有効なローカル変数です。 グローバル変数 モジュールのトップレベルで代入された変数は、グローバル変数になり、モジュール全体で有効になります。特になにもしなくても、…

[Python] 演算子

Pythonの演算子 Pythonには、以下の演算子があります。 + - * ** / // % > & | ^ ~ = == != <> 優先順位 式は、以下の表の優先順位にしたがって評価されます。結合規則は、同じ優先順位のものがふたつ以上あった場合、どちらから先に評価するかを示します(…

[Python] リテラル

リテラルとは、言語の基本的なオブジェクトの表記を指します。以下のリテラルがあります。 整数 数字を並べると、整数になります。sys.maxintが最大値です。-sys.maxint-1が最小値です。この範囲を越えると次のlongになりますが、意識することはありません。…

[Python] 三項式の優先順位

環境 この記事の内容は、Python 2.5で確認しました。 三項式の優先順位 1 + 10 if False else 20 + 100 if False else 200 は、 (1 + 10) if False else ((20 + 100) if False else 200) のように評価されます(この式の結果は、200になります)。 詳細 Pyth…

[line.chomp!] サンシャインクリエイション36にサークル参加します。

来る2007年6月17日に同人誌即売会「サンシャインクリエイション36」(以下SC36)が開催されます。つきましては、私が運営している個人サークルline.chomp!(らいん・どっと・ちょんぷ)も、SC36にサークル参加します。即売会では、以下のものを頒布します。 …

[TurboGears] TurboGearsのロゴ

TurboGearsのロゴを作成しました。この画像は、QCaDで作成しました。以下のURLから、オリジナルのdxfファイルをダウンロードできます。 http://nekomimists.ddo.jp/~tom/repository/gear.tar.bz2

[Hyper Estraier][Python] ScandiumRider 0.1 リリース

ScandiumRiderとは、なんですか? ScandiumRiderとは、ターミナルで動作するHyper Estraierのビューワです。以下の機能を持ちます。 検索条件を入力し、 検索結果の題名を一覧表示し、 検索結果の本文を表示する。 環境 以下の環境で、ScandiumRiderの動作を…

「同人誌と表現を考えるシンポジウム」報告

この記事について 2007年5月19日、東京都の豊島公会堂で、「同人誌と表現を考えるシンポジウム」が開催されました。この記事は、そのシンポジウムの報告です。間違いなどがあったら、コメントするかトラックバックするか、tom@nekomimists.ddo.jpまでご連絡…

[Python] Cursesプログラムで日本語が文字化けする場合は、locale.setlocale(locale.LC_ALL, "")する。

環境 この記事の内容は、Ubuntu Linux 6.10, Python 2.4.4で確認しました。 問題 cursesモジュールを使ったスクリプトで、ウィンドウに日本語をaddstrすると、文字化けする。 解決方法 addstrする前に、以下を実行します。 import locale locale.setlocale(l…