MeCab&mecab-pythonをインストール その2

http://d.hatena.ne.jp/fuyumi3/20120113/1326383644
の続きです.といっても修正したtest.pyを貼りつけるだけですが.



追記:2012/01/18 ----------------------------------------------
どうやらversion 0.99にバグがあったみたいで修正版の0.991がリリースされました。
それに伴ってコード見直してみたら一部漏れがあったので、以下のコードの代わりに
http://d.hatena.ne.jp/fuyumi3/20120118/1326830586
を参照してください。

                                                                                                                          • -

newTest.py

#!/usr/bin/python
# -*- coding: utf-8 -*-

import MeCab
import sys
import string

sentence = "太郎はこの本を二郎を見た女性に渡した。"

try:

    print MeCab.VERSION

    tagger = MeCab.Tagger (" ".join(sys.argv))

    print tagger.parse (sentence)

    m = tagger.parseToNode (sentence)
    while m:
        print m.surface, "\t", m.feature
        m = m.next
    print "EOS"


    lattice = MeCab.Lattice()
    lattice.set_sentence(sentence)
    len = lattice.size()
    for i in range(len + 1):
        b = lattice.begin_nodes(i)
        e = lattice.end_nodes(i)
        while b:
            print "B[%d] %s\t%s" % (i, b.surface, b.feature)
            b = b.bnext 
        while e:
            print "E[%d] %s\t%s" % (i, e.surface, e.feature)
            e = e.bnext 
    print "EOS"


    d = tagger.dictionary_info()
    while d:
        print "filename: %s" % d.filename
        print "charset: %s" %  d.charset
        print "size: %d" %  d.size
        print "type: %d" %  d.type
        print "lsize: %d" %  d.lsize
        print "rsize: %d" %  d.rsize
        print "version: %d" %  d.version
        d = d.next

except RuntimeError, e:
    print "RuntimeError:", e

これでちゃんと動くようになります.
0.99から新たにLatticeクラスが追加されたのに従って,Taggerクラスからいくつかのメソッドが削除されてLatticeクラスに移行されたんですよねー
mecab-rubyに付属するサンプルコード(test.rb)を参考に修正したんですが,RubyPython見比べながら作業すると似てるからまあ混乱してしょうがないねw