Pages

July 17, 2012

ファイル監視にwatchdogがかなり便利な件


win32apiを叩くのはナンセンスだし、何より手軽に書きたかったのでpypiで探索していたらwatchdogというものを知りました。

以下が「*.jpg, *.png, *.txtの3つのファイルが、作成・編集・削除された時にそれを知らせる」コードです。


on_created, on_modified, on_deletedに自分が実行したい処理を書いていけばいいかと思います。

例えばdocを編集していちいち自分でmake htmlとせずともwatchdogを使えば自動化できてしまいます。

ただちょっと触って気になったところが、ファイル・ディレクトリ作成時にon_any_eventだと2回実行してしまうことです。

このコードを使ってみればわかると思うのですが、どうやら作成イベントは on_created, on_modifiedの順で実行されているためのようです。

OS内部のことはわからないのであくまで推定ですが。

July 14, 2012

Python向けTumblrライブラリPytumb2をリリース

Python向けTumblrライブラリPytumb2をリリースしました。

1年くらい前にPytumbをリリースして以来まったくメンテナンスせずに放置状態だったので、この際コードの書き直しを行いました。

使い方はTweepyのように手軽に扱えるようにしています。

詳しくはtests.pyexample.pyを見ていただければとおもいます。

また、ドキュメントはまだ揃えていませんが、api.pyにある程度書かれています。

バグや要望等は随時承っております。

では

PyYoshi/Pytumb2 · GitHub

July 10, 2012

久しぶりに数学的なプログラミング><

「for文を使って,s=1+3+5+...+99の和を計算、表示するプログラミングを作りましょう」

というネタがTwitterで流れてきたのでPythonでやってみました。

#!/usr/bin/env python
reduce(lambda a,b: a+b, [i for i in range(1,100) if i%2==1])
sum([i for i in range(1,100) if i%2==1])

男らしく()ワンライナーで書いてみました。

というかいくら奇数の足し算とはいえ、数学的なプログラミングを最近全くしていないせいか、最初???ってなりました。

そういえば自分の作ったプログラムって数学的な要素全然ない気がします…

コードは2つの方法があります。短く書きたいならsum()を使うのがいいと思います。

僕はどうなってるのか気になるタイプなのでreduce()使ったヤツのほうが好きですね。

といいますか、Pythonは気持ち悪いくらい便利な関数が標準で備わってます><