티스토리 뷰

파이썬으로 맞춤법 검사기를 만드는 방법을 검색해보니까 사람들이 많이 써두셨더라고요. 저 같은 경우 글을 많이 쓰는 직업이라서 맞춤법 검사는 필수입니다. 기자가  기사를 쓰거나 학교 선생님이 생기부, 학생생활기록부를 쓸 때도 맞춤법 검사는 필수인데 네이버 같은 경우 500자 밖에 안돼서 불편하신 경험이 많으실 거라 봅니다. 

 

1. 코드 다운로드

그래서 제가 500자 초과도 한번에 맞춤법 검사해주는 것을 파이썬으로 한번 만들어봤습니다. 우선 파일 첨부하니 다운로드하여 사용하시려면 사용하세요.

반응형

맞춤법 검사기.py
0.00MB

 

 

 

사용방법 안내해드립니다. 우선 한셀라이브러리를 설치하기 위해서 pip install py-hanspell를 입력해주시거나 안되시면

git clone https://github.com/ssut/py-hanspell
cd py-hanspell
python setup.py install

위 코드를 터미널에 입력해서 직접 다운받으시면 됩니다.

 

2. 코드

다음으로는 원하시는 텍스트 파일이름을 1.txt로 하시고 실행 버튼 눌러주시면 됩니다.

from hanspell import spell_checker


f=open('1.txt','r',encoding='utf8')
txt=f.readlines()
f.close()
new_txt=[]
for i in txt:
    new_txt.append(i.replace('\n',""))
    str_txt=""
for i in new_txt:
    str_txt =str_txt + i + ""

# for x in range(3):
#     ['sent{}'.format(x)]=str_txt[500*x:500*x+499]

for i in range(0, 50):
    globals()['sent{}'.format(i)] = str_txt[500*i:500*i+499]
    # print(globals()['sent{}'.format(i)])
    

    spelled_sent = spell_checker.check(globals()['sent{}'.format(i)])
    # print(spelled_sent)
    checked_sent = spelled_sent.checked
    # print(checked_sent)

    f=open('2.txt','a+',encoding='utf8')
    f.write(checked_sent)
    f.close()

 

3. 코드설명 및 예시

간단하게 코드 설명하면 우선 파일 열고 한 줄씩 읽어 옵니다. 읽어 오는 중에 replace함수로 한 줄 띄어쓰기된 것들은 다 없애 줍니다. 그렇게 str_txt에 글을 저장하고 str_txt에서 500 글자씩 뽑아서 맞춤법 검사해서 sent {} 변수에 저장해서 넣어준 것입니다. 반복문으로 변수를 만들 때 globals을 쓰는 것은 저도 검색해서 이번에 알게 되었네요.

 

사용 예시입니다. 왼편이 1.txt로 수정전이어서 한줄띈것들이 많고 오타도 많은데 오른편이 수정된 것으로 깔끔하게 맞춤법과 500자 이상인데도 한 번에 고쳐진 것을 볼 수 있습니다. 

반응형

4. 주의사항

다만 2.txt의 경우는 계속 누적되는 것이기에 다른 내용을 맞춤법 검사할 때는 2번 파일을 지우는 방법을 쓰시거나 아니면 코드에 있는 마지막 부분에 2.txt를 원하시는 이름으로 바꾸면 됩니다. 

 

정리

한글 맞춤법 검사기가 500자까지 밖에 안돼서 만들어봤는데요. 파일을 다운로드하시거나 코드를 복사해서 사용하시면 됩니다. 사용법은 파일 이름은 1.txt로 바꾸시면 됩니다. 바꾸시기 귀찮으면 코드에 1.txt를 바꾸시면 됩니다. 그럼 2.txt로 맞춤법 검사 된 파일이 생성됩니다.