[python] utf-8로 stdin 및 stdout 입출력 하기
Data/Text/Knowledge Analysis & Mining/Python 2013. 3. 18. 11:52stdin을 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
'Data/Text/Knowledge Analysis & Mining > Python' 카테고리의 다른 글
[python] 나눗셈 구현 (divide operator with bit-operations) (0) | 2013.03.22 |
---|---|
Damerau-Levenshtein Distance (Edit distance) 구하기 (0) | 2013.03.18 |
[python] dict merge (0) | 2013.03.11 |
best 최고 python IDE - PyCharm (0) | 2013.02.14 |
[python] timedelta값을 실수(real, float) 또는 정수(integer)로 변환 (0) | 2013.02.08 |
WRITTEN BY
- manager@
Data Analysis, Text/Knowledge Mining, Python, Cloud Computing, Platform
,