銀月の符号

Python 使い見習いの日記・雑記

2009-02-01から1ヶ月間の記事一覧

プログラミング言語書籍の売り上げ

http://www.atmarkit.co.jp/news/200902/27/langs.html 。米国市場での Python 、けっこう大きくてうらやましい。

レシピ追加、ファイルをロックする

今日は「161:ファイルをロックする」を書いた 。ページは存在したのになぜか白紙だったのを昨日見つけたので。1年以上この状態だったのだけど放置されていた模様。書いてて気づいたのは、ヘルプファイルの『Windows NT Files -- Locking』にあるコード例が…

電子工作始めた

LED 光らせたり。 RCD ライタ組み立てキットを買って組み立てようとしたものの、ハンダ付けが怪しい。オレの電子工作はモノにならないかもしれない。

体重減

痩せつつはあるが、元の重さが病的なので先は長い。今日もウォーキング継続。

てってってー、ぱいそんっててー

H.Hiro さんのプログラム言語「てってってー」 のインタプリタを Python の勉強がてら実装してみました。能力不足かつ5時間未満のコードゆえに、まだまだ誤動作するかもしれません。サンプルにあったコード(下記)が動くところまでは確認しました。 {「て…

traceback の情報を残しつつ別の型の例外を送出

触発されて、例外の再送出について調べてみました。 Pythonでcatchした例外を無加工でもう一度投げなおしたい場合 - 西尾泰和のはてなダイアリー tracebackをログに残す場合のお約束コード - methaneのブログ 例外を捕らえたものの処理しきらないで再送出す…

もうすぐ Unix エポックが 1234567890 秒に

今日はバレンタイン、でもあるけれど Unix エポックが 1234567890 になる記念日。しかし目が覚めたらもう 1234566000 秒を過ぎていてびっくり。寝坊はまぬがれたものの、じつは何も準備していなかったオレ。まにあえー! # coding: utf-8 u""" UNIX エポック…

『065:文字列を最大nバイトに切り詰める』は codecs モジュールまかせでもできた

終わった…あっさりと。文字コードと戯れていたオレってなんだったんだろう。 # coding: utf-8 from codecs import getincrementaldecoder, iterencode def _iter_mbchar(iterator, encoding, errors='strict', **kwargs): decoder = getincrementaldecoder(e…

『065:文字列を最大nバイトに切り詰める』は codecs モジュールまかせでもできるような気がしてきた

codecs の Python ソースにこのようなものをみつけた。 def iterdecode(iterator, encoding, errors='strict', **kwargs): """ Decoding iterator. Decodes the input strings from the iterator using a IncrementalDecoder. errors and kwargs are passed …

「XOR をとるコーデック」のファクトリ

codecs モジュールには先日までは知らなかった、 IncrementalDecoder により一字ずつデコードする機能があった。これにはまだまだ知らないで損している機能があるような気がして、もうすこしさわってみることにした。まずはコーデックの自作と登録から。それ…

Python レシピの増量、ひと段落

http://lightson.dip.jp/zope/ZWiki/FrontPage/recentchanges 。25 個以上追加して満足。 067:文字列を最大n桁に切り詰める East Asian Width 使用版。 # coding: utf-8 from unicodedata import east_asian_width _east_asian_width = { 'Na': 1, 'N': 1, '…

ディスクの空き容量を調べる、 Linux, Windows 両対応

seko さん、 bonlife さんに続き、ディスクの空き容量を調べる Python コードの作成に挑戦しました。動作確認は Windows と Debian にて行っています。disk_free(path) 関数は Unix の df コマンドのように path を含むファイルシステムの総容量、使用済み量…

メールアドレスの正規表現

Perlメモ メールアドレスの正規表現 にある長大な正規表現 $mail_regex 。初めて見たのはたぶん 4 年前だと思う。そのときの衝撃はそれは大きなもので。メールアドレスにマッチする正規表現の作成は非常に難しいということを知った。この後 RFC 2822 とかも…

レシピ追加、インデントを変更する

「058:インデントを変更する」新規作成。Ruby レシピブックの正規表現を利用したコードを Pytoon に移植。 Ruby のブロック付き String#gsub は便利と感じた。しかし Python にブロックは無く、ここで一工夫。 re.sub 関数の第 2 引数には関数が入れられるの…

レシピ追加、演算子

「002:演算子」を新規追加。しかし、劣化 Python リファレンスマニュアル再びの予感(まて