Dev-Python

Djangoでカレンダー その4(ちょっと手直し)

月単位のカレンダーを表示する前に、時間単位の予定表をちょっとだけ手直ししました。 大した手直しではないのですが。。。 前回のテンプレートで以下ように記述していた部分をループで処理するように しました。 {# 00:00 〜 23:00の時刻を表示 #} <div id="timeframe"> <div class="timelabel">Time</div> <div class="timeline">00</div></div>…

Djangoでカレンダー その3

先日、CSSを使ってカレンダー(1日分)を作りましたが、それをDjangoのカレンダーアプリに 組み込んでみました。 python manage.py runserverで開発用のサーバを起動し、ブラウザでカレンダーのURLを入力すると、 以下のような感じで表示されました。 ビュー関…

CSS勉強中(Djangoも勉強中)

最近、少しづつですが、Djangoの勉強を再開してます。 バージョンが1.0になってから始めてのアプリ制作ですのでいろいろとつまづいたり してますが、結構面白いです。(笑) さて、今作っているのは、カレンダーです。 家族(といっても、私と奥さんですが)…

Python2.6のドキュメント、使いやすくなりましたね。

今日、Python2.6のドキュメント(http://docs.python.org/)を見たんですが 以前のものに比べると読みやすくなっていてビックリしました。 「What's new in Python 2.6?」のページにもかかれていたんですが、 ドキュメントツールが変更になったようですね。 一…

任意のディレクトリ以下にあるサブクラスをすべて取得する

あるディレクトリ以下に存在する .py の中から、任意のクラスのサブクラスを リストアップする関数を作ってみました。 私はこの関数を、自作エディタのプラグインの検索に使っています。 # -*- coding: utf-8 -*- import sys import os import inspect def g…

pyclamavをインストールしてみたものの。。

Linuxのアンチ・ウィルスソフトといえば、ClamAVですよね。きっと。 前からPyGTKでClamAVのフロントエンドを作ってみようかなと思っていたのですが、 pyclamavモジュールというのがあることを知りました。(今頃になってですけどね。) で、ArchLinuxのリポ…

ArchLinuxのパッケージにDjango1.0-1が登録されました。

他のディストリビューションのバージョンは確認していないのですが、 今日、ArchLinuxのパッケージをチェックしてみたら、DjangoやInkscapeのバージョンが 上がっていました。(もちろんインストールしました!) あとは、Nvidiaのドライバが何とかなればな…

sys.settraceとthreading.settrace

先日、sys.settrace() について書きましたが、今日はその続きとなります。 今日は、スレッド環境でスクリプトをトレースする方法を試してみました。 こんな感じのスクリプトを書いてみました。 このスクリプトは、説明するまでもなく、2つのスレッド(Threa…

sys.settrace()の使い方

Pythonデバッグ機能付きの自作エディタを目指して、いろいろやっているんですが、 Pythonデバッガ(Pdb)中でも使われている関数 sys.settrace のサンプルを探していて、 わかりやすそうなものを見つけたので、メモしておきます。 参考:http://www.dalkescien…

今日は飲み会

いやはや、今日は飲み会でした。(酔 肉がおいしかったなぁ。。。唐揚げとか。。。(酔 飲み会が終わったあと、いつもはラーメンを食べるところを、今日はうどんにしてみました。 。。。やっぱり飲み会の後はラーメンですな。。(酔 今日の飲み会は早めに終…

気がつけばDjangoって1.0正式リリースまで秒読みだった。。

Djangoマスターなみなさんはもうすでにご存知のことだと思いますが、 日曜大工的にDjangoの勉強とかをやってる私としては「おおぉ!」と思ったので。つい。 ロードマップでは、9/2に1.0がリリースされるとか。 それにしても、ロードマップ、日進月歩とはまさ…

win32comextのモジュールを使用したスクリプトをpy2exeで実行形式にする

Windows環境でPythonスクリプトを実行形式(exe)にするには、py2exeがよく使用されますよね。 私もよく利用させてもらっています。 で、今回はwin32com(win32拡張モジュールの1つ)の機能を使用したスクリプトを py2exeでexeにする際のメモです。 たとえば…

Pythonの文字列連結の実行速度

表題の文字列連結の実行速度についてですが、以下の2つの処理ではかなり実行速度が違います。(1) 低速 data = [0x40 for i in range(100000)] s = reduce(lambda a, b: a + b, map(lambda c: chr(c), data)) (2) 高速 data = [0x40 for i in range(100000)]…

pyAudioを使ってみました。

選択したオーディオデバイスにデータを書き込んで音を出したいな。。と思って少し探していたら、 pyAudioというものがあったので、試してみました。とりあえず、今回はWindows版で。 使い方はかなり簡単です。 サイト: http://people.csail.mit.edu/hubert/p…

モジュールのドキュメントを抜き出す(別バージョン)

前回作ったのは、xml.dom.minidomを使ってxmlを出力する処理を行っていましたが、 今回はstring.Templateを使用して同じようなことをやってみました。 今までにstring.Templateはあまり使っていなかったのですが、使ってみるとなかなか便利です。 ソースコー…

モジュールのコメントを抜き出してdocbook形式で出力する

さて、先日から色々実験していた「モジュールのコメントを抜き出す」ですが、 実はDocBookのXMLを出力が最終目的でした。 クラスのリファレンスはpydocで出力したものでも十分なんですが、やはり 私にとって不要な情報も多く出力されてしまっているのでちょ…

正規表現でドキュメント文字列を抜き出す実験

今日は昨日に引き続いてドキュメント文字列を正規表現で抜き出す実験をしました。ソースは以下のようなかんじです。 # -*- coding: utf-8 -*- import sys import os import inspect import re # # def main(path): ''' ''' if not os.path.isfile(path): ret…

Pythonモジュール中のドキュメント文字列を抜き出す

今日は、Pythonのモジュール(.py)中のクラスとそのメソッドのドキュメント文字列 を抜き出す実験をしてみました。 今回の実験では、pydocモジュールを使わず、inspectモジュールを使っています。 inspectモジュールのgetmembers()関数はすごく便利なんですが…

PythonCE(WindowsCE用のPython)

PythonCEについてちょっとメモしておきます。Wikiサイト: http://pythonce.sourceforge.net/Wikka/HomePage あと、PythonCE環境用の実行形式を作成する場合には、py2exeではだめらしいです。 (メーリングリストに質問して教えてもらいました。)

Python functools覚書き

Python2.5で追加された functoolsモジュール、結構便利ですね。 特にTkinterを使ってGUIを作ってる時とか。ということで、functoolsについての覚書です。 たとえば、Tkinterのボタンとかにコールバック関数を登録しようとした場合、 こんな感じになると思い…

PythonのConfigParserモジュールを使ってみた。

これまで私がPythonで作ったツールは、設定ファイルなどをXMLとして保存していました。 というのも、それ以外にPythonで簡単に設定を保存する方法を知らなかったからでした。 で、Pythonリファレンスのグローバルモジュールインデックスを眺めていたら。。。…

正規表現の覚書

Pythonの re モジュールを使って、文字列のsplit関数と同じような処理をさせる 方法の覚書です。たとえば、'01234 aaaa b1c2d4 "aaa/bbb ccc/dddd/eeee"'を半角スペースの位置で分割したいのですが、ダブルクォートで囲まれた部分は 半角スペースがあっても…

Python ソケットプログラミング

ソケットを使ったPythonスクリプト、まだ書いたことがないので少し探してみたところhttp://docs.python.org/dev/howto/sockets.htmlがありました。覚え書きとして。 今度時間があるときにでも詳しく読んでみようと思います。

Windows環境でのpython + Tkinterのファイルダイアログ

Windows環境ではPython + Tkinterに限った現象ではないようですが、ファイルダイアログでツールチップを表示させると強制終了してしまうケースがあるようです。 Webで調べたところでは、AdobeのAcrobatがインストールされていると発生するとか。。Python + T…

Tkinterとスレッド

スレッド中から呼び出された関数中でTkinterのウィジェットのメソッドを呼び出すと、 結構な確立でRuntime Errorが発生します。その対処方法が以下のサイトで紹介されていました。 http://effbot.org/zone/tkinter-threads.htm実際に同様の対処を行ってみる…

Python覚え書き  ファイルシステムの文字コード

取得したファイル名の文字コードをUnicodeに変換にしたい場合、 sys.getfilesystemencoding() で取得した情報を使用して、decode関数を使用するといい感じになる。

pythonの正規検索 覚え書き

正規検索モジュール re の覚え書き。 正規検索モジュールを使用するけど、正規検索としてではなく、通常の検索として使用したい場合、 検索パターンを以下の関数で変換することで、メタ文字をその文字自身としてあつかう。 import re pattern = r'\d' patter…

pythonでキーバインド管理クラス

現在制作中のオリジナルエディタで使用しているキーバインド管理用クラス、だいたいまとまってきたので、 ご紹介します。 以下のクラス(クラス名はちょっと変かもしれませんけど。。)は、コンストラクタが呼び出された時に 引数bindDictで渡された情報を内…

pythonメモ ファイルの拡張子からMIMEタイプを取得する。

先日の日記にもMIMEタイプについて書きましたが、あれから少し調べてみたところ、 Pythonの標準モジュールにMIMEタイプを取得できるものがありました。 以下の用にすることで取得できます。 import mimetypes mimeType, subType = mimetypes.guess_type('sam…

DjangoBook、ようやく6章まで。。。

いやはや、毎日少しずつ読んでいたので、なかなか進みませんね。。。 ようやく6章まで読みました。以前にもチュートリアルを読みながら試したりしていたのですが、今回DjangoBookを読んでいろいろ思い出したというか、前読んだときにはわからなかったことが…