[an error occurred while processing this directive] [an error occurred while processing this directive]

MeCab での読みがな生成サンプル

漢字カナ混じりの文章のよみがなを生成します。 ubuntu で python-mecab をあらかじめインストールする必要があります。
ここではひらがなカタカナ変換も入れてひらがなで生成していますが、 もちろんカタカナで生成することも可能です。
# -*- coding: utf-8 -*-
import sys,codecs,MeCab,re

KXA = ord(u"ァ")
KMI = ord(u"ミ")
KMU = ord(u"ム")
KNN = ord(u"ン")

HXA = ord(u"ぁ")
HMI = ord(u"み")
HMU = ord(u"む")
HNN = ord(u"ン")

def yomi(word):
    def kana2gana(c):
        code = ord(c)
        after = code
        if KXA <= code <= KMI:
            after = code - KXA + HXA
        elif KMU <= code <= KNN:
            after = code - KMU + HMU
        return u"%c"%(after)

    def kanas2ganas(s):
        after = u""
        for c in s:
            after += kana2gana(c)
        return after

    def mec_parse(elems):
        A=elems.decode("utf-8").split()
        if len(A) != 2:
            return None
        phra,rest=A
        elems = rest.split(",")
        if len(elems) == 9:
            yomi = elems[7]
        elif len(elems) == 8:
            yomi = phra
        elif len(elems) == 7:
            yomi = phra
        else:
            return None
        yomi = kanas2ganas(yomi)
        return yomi
    all_yomi = ""
    m = MeCab.Tagger()
    for mecline in m.parse(word.encode("utf-8")).split("\n"):
        if mecline == "EOS":
            break
        yomi = mec_parse(mecline)
        if yomi is None:
            break
        all_yomi += yomi
    return all_yomi

# yomi の引数に漢字カナ混じりを与えると、ひらがなを返します。
print yomi(u"今日は")
結果
きょうは
[an error occurred while processing this directive]