2011-04-01から1ヶ月間の記事一覧
Tweet it Loud! はTwitterのタイムラインを音声で読み上げるWindows用アプリケーションです。このアプリケーションは、スクリーンリーダNVDA日本語化プロジェクトの成果物を元に開発しています。 ボリューム・速度・音声の設定 ユーザの読み上げ設定 ダウン…
私は従来、「はてなブックマーク」とはあまり縁がなく、特に気にとめたこともなかった。ブックマークサービスとしてはDeliciousを使っていたし、注目エントリにあがるブログも私があまり読まないようなものが多かったからだ。それでも、最近はてな日記でブロ…
はてなダイアリの記事一覧を取得し、lxmlを使って日記一覧とタイトルをcsv形式で出力してみるテスト。なんかAPIとかないのか? import urllib2, re, csv, sys, locale from lxml import etree def fetchentries(hatenaid, n): url = "http://d.hatena.ne.jp/…
さて、@aroma_blackさんがこんなスクリプトで悩んでおられたのである。 class C(object): def foo(self): pass c = C() print id(c.foo) == id(c.__class__.foo) print c.foo is c.__class__.foo @aroma_blackさんはメソッドオブジェクトがどこに隠れている…
Python3の概略をざっと聞くと、Python3ではPython2のユニコード型が文字列型になり、文字列型はバイト文字列型になった、というイメージを持ってしまう人も多いだろう。Python2の s="spamspamspam" は、Python3の s=b"spamspamspam" と同じだ、と。しかし、P…
Tweet it Loud! はTwitterのタイムラインを音声で読み上げるWindows用アプリケーションです。このアプリケーションは、スクリーンリーダNVDA日本語化プロジェクトの成果物を元に開発しています。 TLだけでなく、ハッシュタグなどを検索して読み上げ http://w…
OpenID専用にしてしまうなら、wikiconfig.pyを from MoinMoin.auth.openidrp import OpenIDAuth auth = [MoinAuth(), OpenIDAuth()] cookie_lifetime = (2,12) 普通のログインも併用するなら from MoinMoin.auth import MoinAuth from MoinMoin.auth.openidr…
Tweet it Loud! はTwitterのタイムラインを音声で読み上げるWindows用アプリケーションです。このアプリケーションは、スクリーンリーダNVDA日本語化プロジェクトの成果物を元に開発しています。 ダウンロード http://www.pythonpath.jp/download/tweetitlou…
Pythonにはintern()という組み込み関数がある。結構特別扱いで重要な組み込み関数なのだが、使い道が今ひとつ分かりにくいのか知らない人も多いようだ。 intern (一定の区域内に)拘禁する, 抑留する. [新英和(第7版)・和英(第5版)中辞典 株式会社研究…
Twitterなんかをいろいろ眺めていると、もどかしくってたまらなくなってしまうことがある。プログラミングをやってみたいな〜と思いながらも、いつまでも最初の一歩を踏み出せない、そんな人を見たときだ。踏み出してはみたものの、自分の進路に自信を持てな…
Pythonには、二つのオブジェクトが同じオブジェクトかどうか判定する is演算子というのがある。==演算子とちょっと似ているが、==演算子は二つのオブジェクトの値が等しいかどうかを判定し、is演算子は値に関わらず異なるオブジェクトが指定されればFalseを…
いまさら言うのもなんだが、Python3ではファイルのsoftspaceが廃止されている。これはprintステートメントでテキストを出力するとき、先頭にスペースを付加するかどうかのフラグだ。Python2ではprintステートメントの最後に , をつけると print "a", # 改行…
Python初学者が引っかかる落とし穴に、 seq = [[]] * 5 seq[0].append('A') print(seq) としたとき、どのような出力が出るか?というのがある。 一見、 [['A'], [], [], [], []] となりそうだが、実際には [['A'], ['A'], ['A'], ['A'], ['A']] となる。 seq…
新しくさくらVPSで 1.5Gプランを契約してみたが、このプランではディスクが仮想ドライブ2台として提供されている。デフォルトで入っているCentOS5のインストールでは、2台目のディスクが /home ディレクトリにマウントされているようだ。いろいろOS入れ替え…
Pythonはおよそ18ヶ月ごとに新しいメジャーバージョンをリリースする慣習になっていて、これまでにたくさんのバージョンがリリースされ、広く利用されてきた。Pythonの開発では後方互換性を保つことが非常に重視されていて、通常のアプリケーションであれば…
以上でPythonで学ぶ「詳解 UNIXプログラミング」シリーズを終える。軽いネタのつもりで書き始めたが、サンプル一つ一つにきちんと目を通すのはなかなか楽しく、思ったよりも時間がかかってしまった。短期間にこんなにたくさんのos.fork()を書いたのは初めて…
19.1 〜 19.3 Pythonのpty.fork()でptyのオープンとforkを行うことができる。pty.fork()はこのサンプルと同等の機能が実装されており、Linux/BSD/Solaris/Cygwin等の各プラットフォーム対応のコードが入っている。ただし、子プロセス側でのtermioとウィンド…
テスト等でデコレータのデコレート前の関数を保存する必要があるなら、こんなのはどうだろう? import sys def tee(f): sys._getframe(1).f_locals['_raw_'+f.func_name] = f return f デコレートした関数オブジェクトから元の関数を取り出すのは難しいし、…
Pythonでデコレータで修飾した関数から、修飾される前の関数を取り出したいというニーズは多いようでデコレータ式を適用した関数から元の関数名を探す - gumi Engineer’s Blog デコレータを外す - logiqboard デコレータを取り除いて見たかった。 - podhmoの…
以下の章 第15章 高度なプロセス間通信 第16章データベースライブラリ 第17章 PostScriptプリンタとの通信 第19章 モデムの発信 のサンプルは省略する。第15章ではプロセス間でファイルディスクリプタを受け渡す技法を解説しているが、この技法はPythonでは…
14.1 パイプを介して親から子へデータを転送する import sys, os r, w = os.pipe() pid = os.fork() if pid: # parent os.close(r) os.write(w, "hello world\n") else: # child os.close(w) line = os.read(r, 80) print line 14.2 ページ表示プログラムへ…