Hatena::Grouppython

nelnal@python

2007-11-14

[] 標準入出力の文字コードを変える 23:30  標準入出力の文字コードを変える - nelnal@python を含むブックマーク はてなブックマーク -  標準入出力の文字コードを変える - nelnal@python

標準出力をファイルにリダイレクトする際に

ファイルの文字エンコードShift_JIS に設定するのに今までは以下の様に行っていた。

$ python script | nkf > output_file

しかし、これだと自分は良いのだが余りCUIに慣れていない人に

余計な操作をさせることになるので何とか変えたいなぁ・・・と思っていたら

以下の方法を見つけた

参考
http://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/python/encoding.html

import sys, codecs

sys.stdin  = codecs.getreader( 'euc_jp' )( sys.stdin );
sys.stdout = codecs.getwriter( 'shift_jis' )( sys.stdout );

文字コードについては Python Library Reference の Codecs の項を参照とのこと。

トラックバック - http://python.g.hatena.ne.jp/nelnal_programing/20071114