Appia의 IT세상

파이썬[Python] 파일에서 공백 포함, 공백 제외 각각의 글자 수, 단어수 세기( 글자수 계산기 만들기) 본문

Python/Python 응용

파이썬[Python] 파일에서 공백 포함, 공백 제외 각각의 글자 수, 단어수 세기( 글자수 계산기 만들기)

Appia 2020. 5. 7. 07:53
반응형

저는 블로그를 올리다 보니, 자연스럽게 글자 수에 많은 생각을 하게 되었습니다. 그래서 저의 경우는 네이버 글자 수 세기를 자주 이용하는데, 이번에는 동일한 매커니즘을 가진 글자 수 세기를 구해보고자 합니다. 단 Text 파일에서 관련된 글자 수를 세는 코드를 작성해보고자 합니다. 

 

먼저 몇가지 프로세스를 바탕으로 이 부분을 구현 해보도록 하겠습니다. 그리고 관련해서 함수를 구현하여 읽어 오도록 하겠습니다. 

 

파일 불려오기&단어 나누기

이 부분은 with를 이용해서 파일을 불러오고, 공백을 바탕으로 나누어서 단어를 나누어 보도록 하겠습니다. 그래서 여기에서 공백을 기준으로 단어로 나누어진 문자들과 그 단어 개수를 나누어 리턴 해주는 형태의 fileopen() 형태로 작성하였습니다. 

def fileopen(data):
 
    with open(data,'r',encoding='UTF8') as file:
    
        text = file.read()
        
        splitdata = text.split()
        
    return splitdata, len(splitdata)
cs

 

만약 한글을 읽어온다면 반드시 'encoding='UTF8'  부분을 반드시 입력해주셔야 합니다. 만약 그렇지 않는다면 다음과 같은 에러가 나타납니다. 

UnicodeDecodeError: 'cp949' codec can't decode byte 0xec in position 0: illegal multibyte sequence
cs

위와 같은 에러가 발생시에는 open의 인자 값으로 "encoding='UTF8'"를 입력해 주기실 바랍니다. 

 

글자 수 계산 

위에서 나온 결과를 받아서 각 글자수를 계산하는 len함수를 이용하여 각 글자수를 더하여 총 글자수를 계산하여 리턴을 줍니다. 

def count_character(data):
 
    count = 0
    
    for i in data :
    
        count += len(i)
 
    return  count
cs

 

총 위와 같은 함수를 토대로 전체 코드는 다음과 같습니다. 

def fileopen(data):
 
    with open(data,'r',encoding='UTF8') as file:
    
        text = file.read()
        
        splitdata = text.split()
 
    return splitdata, len(splitdata)
 
def count_character(data):
 
    count = 0
    
    for i in data :
    
        count += len(i)
 
    return  count
 
data,count = fileopen("Count_text.txt")
 
print("공백 수 : ",count-1)
 
print("공백을 제외한 문자수 : ",count_character(data))
 
print("공백을 포함한 문자수 : ",count_character(data) + count-1)
 
print("단어 수 : ",count)
cs

그럼 예제 파일을 바탕으로 해보면 다음과 같은 결과가 나옵니다. 

공백 수 :  38
 
공백을 제외한 문자수 :  119
 
공백을 포함한 문자수 :  157
 
단어 수 :  39
cs

 

위에서 사용한 코드와 예제 파일을 첨부 합니다. 

Count_text.py
0.00MB
Count_text.txt
0.00MB

오늘은 이 부분을 바탕으로 글자수 계산기로 활용하셔도 됩니다. 생각보다 간단하지만,응용하게 잘 사용할 수 있으니 활용해보시길 바랍니다. 

오늘은 글자수, 공백수, 단어수, 공백을 포함한 글자수를 계산하는 방법에 대해서 살펴봤습니다. 혹시, 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨 주시길 바랍니다. 

반응형
Comments