파이썬(Python)에서 첨부파일 읽은 후, 개행문자가 들어간 경우

    소스 원문



      첨부파일 내용


    하는

    있는

    으로



    위와 같은 조사들을 제거하는 형태소 분석기의 심플 버전을 개발 중이었는데, 첨부파일로 읽어 들이니 잘 작동이 되지 않았다.

    자바에서는 전혀 문제가 없는 것인데 파이썬에서는 내가 생각하지 못하는 무언가가 있는건지 확인 중 개행 문자가 들어간 것으로 판단하여 아래와 같이 조치하였다.



    # 조사 데이터 매핑

    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() 라고 쓰면 끝이다.

    반응형

    댓글

    Designed by JB FACTORY