Pythonで日本語
Pythonで日本語を扱うには、Unicode型で扱うのが楽な様だ。
参考 PyJUG 日本語環境でのPython
>>> Hokkaido = "北海道" >>> print Hokkaido 北海道 >>> type(Hokkaido) <type 'str'> >>> Hokkaido '\xe5\x8c\x97\xe6\xb5\xb7\xe9\x81\x93' >>> len(Hokkaido) 9 >>> uHokkaido = u'北海道' >>> print uHokkaido 北海道 >>> type(uHokkaido) <type 'unicode'> >>> uHokkaido u'\u5317\u6d77\u9053' >>> len(uHokkaido) 3
ファイルからテキストを読み込む時は、codecsを使って次の様に出来る。
>>> import codecs >>> f = codecs.open("jpn.txt",'r','utf_8') >>> txt = f.readlines() >>> type(txt[0]) <type 'unicode'> >>> for t in txt: ... print t, ... test 日本語てすと!!! test
Webからテキストを読み出すときはcodecs.getreader()を使えば良さそう。
>>> import urllib >>> import codecs >>> url = "http://live24.2ch.net/eq/subject.txt" >>> f = urllib.urlopen(url) >>> f = codecs.getreader('shift_jis')(f) >>> subjects = f.readlines() >>> type(subjects[0]) <type 'unicode'> >>> for sbj in subjects: ... print sbj, ... 1221234583.dat<>ジョセリーヌのやつでさ (158) 1219554767.dat<>精進湖の水位を生暖かく見守るスレ6【まったりと】 (184) 1221805102.dat<>海の異常&動物の大移動を取り上げるスレ (13) 1220349531.dat<>今井真人の地震予知研究会13 (390) 1220050438.dat<>地震、雷、火事、地震 (65) 1221835586.dat<>台風13号の進路、プレートの境界線をなぞってる(汗) (35) :