White scenery @showyou, hatena

If you have any comments, you may also send twitter @shsub or @showyou.

python

iPythonでのヒアドキュメントの問題

ipythonでmakoの入門(http://jkl.lomo.jp/archive/200809121156/)っぽいものを打ち込んでたんですが、pythonのシェルで打ち込むのと_ip.magicとか付くのねー。なんでだろー。 In [21]: text = """ ....: % for a in t_list : ....: % if a[0] == 't': ....: …

makoテンプレートを使う。

使い易そう。軽くSQL検索→結果出力とかに使うのはいいかも。

Rails+SQLAlchemy

Railsのscaffoldだかで作ったTableに、SQLAlchemyを使ってつないでみた。 特に凝った事をすることなく、Tableの型をあわせるだけでよさげ。

タプルでハマる

import random print random.choice(('ABC','DEF')) print random.choice(('ABC')) 下のをやってAとかBとか出てきてハマった。 http://twitter.com/donsuke/status/1793119052 解説すると、前者は'ABC'と'DEF'のどちらかが出力される。つまり'ABC','DEF'のタ…

ランダム並べ替え(重みつき)

[ {'name':'a','count':1}, {'name':'b','count':2}, {'name':'c','count':3} ]という感じに並んでるリストを、数値(a,1の1の方)を重みとしてある程度考慮して並べ替えるアルゴリズムに悩んだ。出てきたものはあっさりしてるけど。

hama新版のソースをgithubに上げました

http://github.com/showyou/hama_db/ ちょっとWikiに書いてる方法だとまだ説明が足りないと思うので、後日また動かし方でも書こうかと思います。改善点,寄付(ぉぃなど頂ければ幸いです。

ircつなぐ

http://d.hatena.ne.jp/goinger/20080106/1199580167 そのままでいけますね。 python-irclibもあるみたいだけど・・入れる必要あるのかなぁ。 そんなこんなのうちにうちの子(donsuke,hama)がネトスタにでたらしいのですがはてさて。

今更だけど実世界はてなスターのソースをgithubに上げた

http://github.com/showyou/realhatenastar/Wikiに説明を書いたので読みたい人は読んでね

pythonでtwitterにつぶやいてみよう

こんにちは!twitterでyuka_(http://twitter.com/yuka_)とか作ってるshowyouです。 今日はプログラミング言語pythonでtwitterの発言を取ってきたり発言をする方法について軽く書きます。 なおここでは以下の環境で動かすことを想定しています。Windowsでも動…

深さ優先探索2

昨日のだと答えまで探せそうもないので書き換えた。結構見栄えが悪い。。

深さ優先探索

自分用メモ。正直怪しいので参考にしない方がいいです modelはsqlalchemyのモデルを書いている。nowとnextもったlistで代用できるかと #!/usr/bin/env python import model def dsearch(): session = model.startSession() q = session.query(model.Markov) …

import時のos.chdirは意味がない?

http://d.hatena.ne.jp/showyou/20090106#1231244154で つまり、os.chdirするとかPYTHONPATHにプロジェクトのTOPのパスを指定しておけば子でないフォルダでもいいわけか。 とか書いてるが、どうも怪しい。下記のディレクトリ構成だったときに python_import_…

デコレータ関数

某所で @hoge def foo: って何かなぁって調べたりきいたりしたところ、デコレート関数っていうらしい。以下ソースはhttp://jutememo.blogspot.com/2008/10/python-1_09.htmlから引用。 def D(f): print u"デコレータが実行された" return f def hoge(): prin…

MeCabでha_maが["ha","_","ma"]と分割されてしまう

ので繋げてみた。もっといいやり方があるはず。 # ["A","_","B"]->["A_B"]に直す def connectUnderScore(array): retArray = [] i = 0 while(i < len(array)-2): if array[i+1] == "_": retArray.append(array[i] + "_" + array[i+2]) i+=3 else: retArray.a…

n-gramとyieldと

N-gramはn文字ずつの並びを索引として持つ。詳しくはこの辺でも見てください。 http://gihyo.jp/dev/serial/01/make-findspot/0005それの(格納とかはしていないのだけど)簡単なサンプル。 http://hiroshiykw.blogspot.com/2007/12/n-gram.htmlこれを見ていた…

sqlalchemyで複数条件指定

>>> q2 = q.filter(model.Markov.now=="@" and model.Markov.next=="showyou") これで select * from "markov" where "now" = "@" and "next"="showyou"; とおなじ結果が得られる。 ダウト。上の奴だと"@"があるか"showyou"があるかでヒットしてるみたい。 …

SQLAlchemyのfilter

こんな感じで取れますね。 tq = q.filter(model.Twit.datetime >= datetime.datetime(2009, 3, 1))

Ans:URLに日本語文字列が入ってるとエラー

urllib.quote_plus(url.encode('utf-8'),':;/') が正解でした。ただし'utf-8'なのは相手がutf-8で処理してるからなのだけど。これで http://s3.amazonaws.com/twitter_production/profile_images/82135063/名称未設定_1_のコピー_normal.jpg が http://s3.am…

URLに日本語が混じってるとエラー

原因と言うかいろいろわからん。 print "b[4]:",b[4] for s in b[4]: print str(ord(s)), b[4]: http://s3.amazonaws.com/twitter_production/profile_images/68554795/黒うにゅう2_normal.jpg 104 116 116 112 58 47 47 115 51 46 97 109 97 122 111 110 97…

strptimeがエラーを起こしてた件:解決編

http://d.hatena.ne.jp/showyou/20090202#1233585429python-ja-mlに投げたところ、wx.App(False)の前後でlocaleが書き換えられることがわかった。 なのでstrptimeを使うときだけCロケールにしてあげれば通る。 しかし・・なんでMacOSXとUbuntuでlocaleが変わ…

SQLAlchemyでTwitterの発言をMySQLDBに突っ込む

画像だけ貼っておく。解説は後ほど。

pynotify

http://blog.asial.co.jp/488より #!/usr/bin/env python #! -*- coding:utf-8 -*- import pynotify pynotify.init("pynotify_sample") n = pynotify.Notification("title","desc") n.show() 実行結果 このためにsak65536との電話が半分おざなりだったのさぁ…

python-jsonは使ってはならない

今のとここれまだダメなんじゃないって思う。理由は二つ。 Unicode処理が怪しい(3ならいいのかな?) macportsに入ってない 2.6以降は標準サポートなのでメインが2.6とか3になったらいいのかもねー。 ただし私の経験に基づくものであり実際はうまくいくのかも…

time.strptimeがエラー起す謎-原因発覚?

strptimeTest.py #! /usr/bin/env python #! -*- coding:utf-8 -*- import wx #app = wx.App(False) import toDateTest toDateTest.py #!/usr/bin/env python # -*- coding:utf-8 -*- import toDate,datetime date = "2008-02-24T06:39:37+00:00" apiDate = …

iepg解析

たいしたものでもない。 #!/usr/bin/env python #! -*- coding: utf-8- import sys import re if len(sys.argv) != 2: print ("usage parse_iepg filename") exit() iepgData = {} pattern = re.compile("(.+?): (.+)") for line in open(sys.argv[1],"r"): …

python-jsonって

unicodeちゃんと処理してるのかなぁ。python-simplejsonと漢字とか処理したときに挙動が違うような。 こんなのpython2.6以降で標準採用したの?

正規表現書き方

http://d.hatena.ne.jp/Megumi221/20090128#1233239592 でも、そのような処理は正規表現を使えばスマートにできるのではないかと考えた。で、買ってきた本。初めてのPython 第2版には、2、3ページの説明しかないのでどうやって使うのかよく分からない。 こ…

strptimeのエラー2

あらすじ crochetでstrptimeの引数変えたらエラー 直接呼び出す分には問題無し Ubuntu 8.10のpython2.5.2で問題有。MacOS X 10.5.6のpython2.5.2では問題無し toDate.py #! /usr/bin/env python # -*- coding:utf-8 -*- import datetime def getLocalTime(ti…

理解不能なstrptimeのエラー

File "/home/hoge/toDate.py", line 19, in toDate dates = time.strptime(date,str) File "/usr/lib/python2.5/_strptime.py", line 330, in strptime (data_string, format)) ValueError: time data did not match format: data=Thu Jan 22 05:19:28 +0000…

続:関数の引数に渡す配列の簡単な展開方法

どうも私は hoge(*xs[0:6]) とかいうやつの*とか**が各関数に一つしか使えないとか思ってたのだけど、展開された引数の数が合えば*とか**が複数あっても問題無いみたい。この辺やる気があったら検証する。