파이썬(Python)에서 첨부파일 읽은 후, 개행문자가 들어간 경우
- Language/Python
- 2017. 11. 30.
소스 원문
첨부파일 내용
하는
있는
으로
을
를
위와 같은 조사들을 제거하는 형태소 분석기의 심플 버전을 개발 중이었는데, 첨부파일로 읽어 들이니 잘 작동이 되지 않았다.
자바에서는 전혀 문제가 없는 것인데 파이썬에서는 내가 생각하지 못하는 무언가가 있는건지 확인 중 개행 문자가 들어간 것으로 판단하여 아래와 같이 조치하였다.
# 조사 데이터 매핑
f = codecs.open("josa.dic", "r", "utf-8")
while True:
line = f.readline()
line = line.replace("\n", "")
if(len(line) > 0):
JOSA_DIC.append(line)
if not line:
break
그러나, len(line)을 해본 결과 조사의 length가 아래와 같이 출력이 됐다
하는 => 3
있는 => 3
으로 => 3
을 => 2
를 => 1
글자수보다 한글자씩 더 많고, 마지막의 단어는 정상적으로 출력이 된 것으로 보아 분명 개행이 또 있다는 확인이 들어서, 구글링을 해보니
파이썬은 개행을 위와 같이 강제로 하는 것보다는 아래와 같이 심플하게 처리할 수 있는 방안이 있었음
해결 방안
f = codecs.open("josa.dic", "r", "utf-8")
JOSA_DIC = f.read().splitlines()
위와 같이 심플하게 f.read().splitlines() 라고 쓰면 끝이다.
반응형
'Language > Python' 카테고리의 다른 글
[Python] 파이썬에서 루트(제곱근) 계산 방법 (0) | 2020.12.19 |
---|---|
[Python] 파이썬의 연산 기호 (0) | 2020.12.18 |
[Python] 파이썬의 비교 연산자 (0) | 2020.12.13 |
Conda로 가상환경 만들기 (0) | 2020.06.15 |
파이썬(Python)에서 불필요한 공백 제거 (Java의 trim()) (0) | 2017.12.04 |