Amazon

2011年8月23日火曜日

AttributeError: 'tuple' object has no attribute

Pythonにて。


body="anonymous"
sjis(body)

def sjis(body)
        if isinstance(body, str):
            body = body.replace(u'\u00a6', u'\u007c'), #broken bar=>vertical bar
            body = body.replace(u'\u2014', u'\u2015'), #horizontal bar=>em dash

上のコードを実行すると
   body = body.replace(u'\u2014', u'\u2015'), #horizontal bar=>em dash
AttributeError: 'tuple' object has no attribute 'replace'
エラーが出る。
タプルは値を変更できないのに変更しようとしているからエラー、という意味なのだけど
そもそもタプルなんか使ってないのに何でだろう?と考えること10秒。

replaceの行にカンマが入ってんじゃん。。。
            body = body.replace(u'\u00a6', u'\u007c'), #broken bar=>vertical bar
            body = body.replace(u'\u2014', u'\u2015'), #horizontal bar=>em dash

このカンマを消したら見事エラーも消えましたとさ。

0 件のコメント:

コメントを投稿

Amazon3