とある障害対応でアクセスログから検索キーワードの内容を
抽出して、マズいワードを探してよ。みたいな
砂浜の砂粒から砂金を見つけるような作業
手動でやるわけにはいかんし、public static void main(…
とやるのも('A`)マンドクセ
cygwinのpythonでちゃっちゃとやるわ。
で、splitとか検索ワード部分の抽出とかは割愛するとして
デコードの部分
sword=sword.decode("shift_jis")
が何故かうまくいかない(\x何某\x何某\x何某\x何某のまま)
対話モードでやってみると(\x何某をコピペしてな)
うまく行く。
小1時間ほど思案して orz となる。
\x何某と表示されるってことは、メモリ上では
\\x何某 と\ がエスケープされているわけだ。
ファイルから読んでるんだから当たり前だわな。
ということで、
sword=sword.decode("string_escape")
sword=sword.decode("shift_jis")
エスケープを外せばいいだけ。┐(´д`)┌ ヤレヤレ
夏バテ気味で脳に栄養足りてないな・・。
http://lightson.dip.jp/zope/ZWiki/053_e6_96_87_e5_ad_97_e3_82_92_e3_82_a8_e3_82_b9_e3_82_b1_e3_83_bc_e3_83_97_e3_81_99_e3_82_8b_ef_bc_8f_e3_82_a8_e3_82_b9_e3_82_b1_e3_83_bc_e3_83_97_e3_82_92_e5_a4_96_e3_81_99
http://www.python.jp/doc/2.5/lib/standard-encodings.html
http://www.trashbox.jp/~moriwaka/moin.cgi/PythonEncode


