Python

DBMにPythonのオブジェクトを保存する@C言語

cPickleをC言語から呼び出すのはどうやらめんどくさそうだ。 素直にPythonでラップするのがいいな。 複雑じゃないオブジェクトだったら、Marshalが使える。 MarshalだったらC言語から呼び出せる。 PyMarshal_WriteObjectToStringとPyMarshal_ReadObjectFromS…

解決黒頭巾!PythonのC拡張でcleanup用のコードを呼びたい!

PythonのC拡張でcleanup用のコードを呼びたい! - グニャラくんのグニャグニャPython備忘録の続き。 Pythonのatexitにあたるものがないかな〜、とは思っていましたが、 ありました。Py_AtExit。 VideoCaptureのソースを見ていて気づいた。

VideoCaptureを試してみる。

VideoCaptureという、USBカメラとかの画像をキャプチャできるPython用ライブラリを試してみた。 VideoCapture - A Win32 Python Extension for Accessing Video Devices (e.g. a USB WebCam, a TV-Card, ...) うちにあるHDVカメラでやってみたのだが、 どう…

Django勉強会 Disk 4

Django勉強会 Disk 4があるということで、 http://www.djangoproject.jp/etude/4/id:Voluntasさまの日記に 「発表できるネタがあれば発表したい!」 とコメントした。 そしたら、即entryされていた(笑 さて、ネタを作るぞ。 そういや、サイボウズ・ラボは初…

PythonのC拡張でcleanup用のコードを呼びたい!

PythonでC拡張を書くとき、 初期化用の関数はあるのだが(PyMODINIT_FUNC)、 後始末用の関数がない… こういうときはどうするのがいいのかなあ。 自前で呼べっていうのもめんどくさそうだし。

Python温泉までにやること

ftの掲示板を作っておきたい。 xxxからtxxを作成してサーバに送りつつ掲示板を見る hxxxを計算する際にサイズが大きすぎる奴はダイアログで確認、さらにプログレスバーも出したい ひととおり掲示板を作る。 温泉から帰ったときにはアルファリリースができる…

PEP 8に違反しまくり

仕事で初めてPythonのスクリプトを書いてみた。 http://svn.razil.jp/django-wikipedia/trunk/wpxmltodb/wpxmltodb.py C言語に移植しやすいこと、処理速度をなるべく早くすることを念頭に置いたため… かもしれないが、美しくない。lambdaもリスト内包表現も…

ハンズオンのお手伝い

http://www.python.jp/Zope/PyLog//1181112812/index_html にてDjango部分のハンズオンをお手伝いさせていただくことになりました。 是非是非ご来訪ください!!! そのときまでに、ちゃんとDjangoを勉強しておくので…ゲホゲホ しかし、同日に未踏なイベント…

FizzBuzz問題

Pythonでの回答例で面白いものを見つけた。 Using FizzBuzz to Find Developers who Grok Coding for i in range(1,101):print"FizzBuzz"[i*i%3*4:8--i**4%5]or i ネタフリありがとう!<id:Voluntas

GUIDをちゃんと作る

COMコンポーネントを作るうえで避けられないGUID作成について。 (今回僕がGUID作成したいのは、COMコンポーネント用ではないんだけどね) よくあるGUID作成説明では、 import pythoncom print pythoncom.CreateGuid() という風にGUIDを作っていますが、これ、…

ジェネレータ初めて使ってみた

SQLを実行して、その行を1つずつyieldする。 こんな使い方であっているかな。 def search_tags(self, tags): query = ' and '.join(['tag = ?' for w in tags]) self.cur.execute('SELECT id, fullpath, filetitle, ext, size, sha512, mtime FROM files WHE…

ファイル名をUnicode文字列に

os.walkなんかでpathを次々ととってくるときに、 path.decode(sys.getfilesystemencoding()) でファイル名をUnicode文字列に出来る。

数値をカンマ付き数字に変換(commify)

http://pleac.sourceforge.net/pleac_python/numbers.html から。 def commify(amount): amount = str(amount) firstcomma = len(amount)%3 or 3 # set to 3 if would make a leading comma first, rest = amount[:firstcomma], amount[firstcomma:] segment…

はじめまして。

グニャラくんのグニャグニャ備忘録@はてな で全文検索エンジンSennaの話とPythonの話とをまとめて書いていました。Pythonの(しかも細かい)話が多くなりそうなので分割。 というわけで、皆さんヨロシク。