python 및 머신러닝 교육, 슬로우캠퍼스


stdin을  utf-8 형식으로 설정하기


import codecs 
sys.stdin= codecs.getreader('utf-8')(sys.stdin)


utf-8 문자열을 stdout 으로 출력하고자 할 때

import codecs 
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)


아래와 같이 setdefaultencoding() 을 이용한 방법도 잘 동작한다.

reload(sys)
sys.setdefaultencoding('utf-8')


아래는 파일명이 '-'으로 주어지면 stdin 에서 읽고,

그외에는 일반 파일에서 utf-8 형식으로 읽는 것이다.


활용법:  gzip -dc xxx.gz | python doit.py -

gzip -dc 는 압축을 풀어 stdout 으로 출력한다.


doit.py


if fname=='-': fp = codecs.getreader('utf-8')(sys.stdin) else: fp = codecs.open(fname, 'rb', encoding='utf-8')


for line in fp:

do something on line







WRITTEN BY
manager@
Data Analysis, Text/Knowledge Mining, Python, Cloud Computing, Platform

,