Python

アクセスログから指定範囲のIPアドレスを含む行を抜き出す

アクセスログから、指定範囲のIPアドレスを含む行を抜き出す。ログはまあまあのファイルサイズがあり、処理はできるだけ速く完了したい。そこで、幾つかの方法を試してみた。例として、Webサーバのhttpdアクセスログを使う。ログのサイズは約19MBで、72733行…

kqueueでファイルの状態を監視する

ファイルの状態を監視するために、Linuxならinotifyが簡単に使えるのだけれど、最近メインで使っているBSD系だとkqueueを使うしかなさそうなので、頑張って使ってみた。 C: sys/event.h 指定したファイルの変更と削除について監視する。 $ echo "foo" >> foo…

Twitter botの作り方

特定の単語が含まれるtweetsをReTweetするbotを作る。 Streaming API#filterは(現状)日本語が使えないので、http://dev.twitter.com/doc/get/searchを用い、特定の単語を検索し、tweetsのリストを得る。 since_id = 0 while(True): search_url = "http://sea…

weechatを使っていて、話しかけられたらiPod touchに通知する

WeeChat, the extensible chat clientはchat clientの1つで、僕は主にIRCクライアントとして使っている。weechatと同様CUIのIRCクライアントで有名なものにはIrssiなどがあるが、weechatはGTKによるGUIもある(らしい/使ってない)。 weechatはPythonやPerl、R…

TornadoとChirpUserStreamsでTweetの流れを眺める

http://apiwiki.twitter.com/ChirpUserStreamsを使うと、自分がfollowしているユーザのイベント(つぶやき、RT、ふぁぼ、followなど)の情報を取得出来る。以前、Twitter Streaming APIでTweetの流れを眺める - DiaryExceptionではtwisted.web.clientを使ってS…

radiko.jpの番組表を端末に表示する

radiko.jp(ラジコ) | ラジオがインターネット(アプリやパソコン)で無料で聴けるが始まったが、プレスリリースの通り、Flash Playerによる再生、IPアドレスによる地域判別による利用制限など、お固い仕様となっている。録音に関しては、スピーカ出力を入力…

Google URL Shortener APIを利用する

Google URL Shortener goo.gl(6文字)。bit.ly(6文字)と同じというのが、対抗意識ばりばりというか、じゃあGoogleの強みとして述べているセキュリティとか速さをどれくらい体験出来るのかな、ということになる。goo.gl短縮URLを作るための、APIは公開されてい…

Twitter Streaming APIでTweetの流れを眺める

http://apiwiki.twitter.com/Streaming-API-Documentation Tweet全体をstatuses/sampleで眺めても、興味の無い話題ばかりなので、statuses/filterで単語を指定してTweetを絞り込んで眺める。いかにも非同期なのでTwistedでする(9.0.0リリース記念(嘘))。 #!/…

どっちだ

イテレータ、タプル、オブジェクト指向、リスペクト、end or インデント、フレームワーク、Javaと連携、ドキュメント数、モジュール数、人気度、将来度、、、。 "今"を追い、並んで走るには、Rubyが正解の様な気がしてならない。Pythonでmap他関数が削除され…

2.5出た

参考:Slashdot | Python 2.5 Released 参考:Python 2.5 リリース | スラド デベロッパー バイトコンパイラ刷新、with文、モジュール追加。やっぱり、モジュールの充実がPythonの強み。 wsgirefモジュール、ElementTreeモジュールは面白そう。 map()、filte…

ubiquitous Python

参考:http://python-psp.net/trac/(Python for PSP) 参考:Disinterest - Stackless Python 2.4.3 on the Nintendo DS(Python for Nintendo DS) for PSPのサンプルにはサーバがあります。凄いです。感激です。 こんな扱いを受けているプログラム言語は、つ…

どう書く2

参考:キミならどう書く 2.0 - ROUND 2 - — Lightweight Language Ring 取り敢えず、まずはシンプルに。 Collatz予想(角谷予想) #! /usr/bin/python def g(i, r): r = r + 1 if i == 1: return r if i % 2 == 0: return g(i / 2, r) if i % 2 == 1: return g…

GUIの話

参考:Slashdot | WxPython in Action 『WxPython in Action』登場。『Ajax in Action』のパクリか。 GUI用のフレームワークって結構選択肢があって、Pythonだけを見ても標準搭載のTkinter、WxPython、PyGTK、PyQt、と多分他にもある。文法を他の言語に合わ…

Tkinterリンク

参考:http://www.python.jp/doc/release/lib/module-Tkinter.html 参考:http://python.download-by.net/topics/tkinter/ 参考:TkInter - Python Wiki 参考:http://tkinter.unpythonic.net/wiki/ 参考:RELOADING... 参考:http://www.ferg.org/thinking_…

素因数分解サイト

参考:http://www.nikkansports.com/entertainment/p-et-tp0-20060401-13747.html 2804=2^2×701 素因数分解をする最も効率の悪いアルゴリズムは num = 2804 i = 2 while i < num: if num % i == 0: print str(i) + " ", num = num / i else: i = i + 1 prin…

Wikipediaリンク作成スクリプト

Wikipediaに限ったものでは無い、文字列をUTF-8にエンコードして処理するためのスクリプト。 $ ./wikilink.py インフルエンザ http://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3%E3%83%95%E3%83%AB%E3%82%A8%E3%83%B3%E3%82%B6import sys, urllib plat_cod =…

はてなダイアリーキーワード連想語APIで遊ぼう

Pythonによるサンプルスクリプト。 実行例 $ python hatenaSimilarWord.py 西尾維新 ライトノベル作家 青土社 1981年 京都 ファウスト 北山猛邦 クビキリサイクル 小説 リスナー トリビュート 滝本竜彦 はてなリング 講談社 メフィスト賞 サイコロジカル 卒…

Python天気予報

via.http://neta.ywcafe.net/000534.html というわけで、livedoor 天気情報を利用して、Pythonで天気予報表示スクリプト。 問題は、地域コードを全国の地点定義表(XML)で先に知っておかないと使えない。これは対策が幾つか思いつくので好きな方法を選択すれ…

JaneのログからChaliceのログに変換

昨日のお気に入り→栞変換スクリプトと併せて使うと完璧。 スクリプト4行目の"janelog_path=〜"でJaneのログのフォルダを指定して、実行。 スクリプトと同じフォルダにChalice用ログを格納した"chalice_log"フォルダが生成されるので、そのフォルダの中身を全…

Janeのお気に入りからChalice用栞に変換

Janeのお気に入りファイル(favorites.dat)からChalice用栞ファイルに変換するPythonスクリプト。 スクリプトと同じフォルダにJaneのお気に入りファイル(favorites.dat)を置いて実行。 生成されるchalice_new.bmkというファイルが、Chalice用栞ファイル。…

文字列の分割

>>> str = "abcde" >>> for x in str: ... print x + ' ', ... a b c d e >>> str[0] 'a' >>> str[1:3] 'bc' >>> str[3:] 'de' >>> str[:2] 'ab' >>> str[:] 'abcde' >>> str[::1] 'abcde' >>> str[::2] 'ace' >>> str[::3] 'ad' >>> str[::4] 'ae' >>> str[…

秘書スクリプト(スケジュール編)

当日のスケジュールをメールするスクリプト。 schedule.txt(スケジュール記述ファイル:日付,時刻,内容) 2005-12-13,10:00,Math 2005-12-13,13:00,English 2005-12-13,15:00,Science 2005-12-14,12:00,Education 2005-12-14,18:00,Birthday Party 2005-12-…

メール送信

import smtplib fromadd = 'foo@example.com' toadd = 'bar@example.com' smtpserv = 'smtp.example.com' subj = 'TEST' mes = 'This is a test.' mdata = 'Subject: ' + subj + '\n' + mes ss = smtplib.SMTP(smtpserv) ss.sendmail(fromadd, toadd, mdata)…

クリップボードの利用

import sys, win32clipboard enc = sys.getfilesystemencoding() win32clipboard.OpenClipboard() # クリップボードのオープン str = 'clip_board' win32clipboard.SetClipboardText(str.encode(enc)) # クリップボードにデータをセット str2 = unicode(win3…

はてなアフィリエイト用Amazonアソシエイト記事作成スクリプト

やっつけなので出来はイマイチ(言い訳)。整形は各自で。 参考:アフィリエイトをはじめよう - はてな 参考:はてなダイアリーガイド「アフィリエイト・プログラムに参加する」とは - はてなキーワード 自分のアソシエイトIDのはてなasinページリンク作成。…

import this

>>> import this The Zen of Python, by Tim Peters (略)via.2ch - Pythonのお勉強 Part7 参考:http://www.python.jp/Zope/articles/misc/zen 面白い。 雰囲気から、J・D・サリンジャーの小説に出てくる、シーモア・グラースを思い出した。

限定ジャンケンもどき

福本伸行『賭博黙示録カイジ』に出てくる、「限定ジャンケン」のパクリゲーム。 参考:賭博黙示録カイジ - Wikipedia 限定ジャンケンもどきルール ・プレイヤは初めに、星を3つ持つ・相手はレベル数だけ星を持つ・プレイヤと相手は初めに、グー、チョキ、パ…

POST送信・Cookie管理

POST送信 Python import urllib2 params = urllib2.urlencode({'name': 'foo', 'pass': 1234, 'location': 'Japan'}) f = urllib2.urlopen("http://example.com/cgi-bin/query", params)Perl use LWP::UserAgent; $ua = LWP::UserAgent->new; $req = HTTP::R…

1月の予定を立てていた

2006年1月1日は日曜日。 1年365日だから、今年のある日の曜日は、前年の同月同日より曜日が1つ進む計算になる。勿論、閏年の次の年は2つ進む。 試しにPythonで1970年から100年間で、1月1日の曜日が日曜日の年を出してみた。 何故、1970年からかというと、Pyt…

アウチ

PyPodcastPlayerのソースを、デバッグ用に97行目をコメントアウトしたままアップロードしていました。 詰めが甘いな。