File 문제 풀기 2

Junho Song·2022년 11월 17일
0

문제 2
현재 사용하는 1-10Basic.IPYNB 파일을 읽어 파일에 있는 단어의 개수를 세는 프로그램을 작성하시오.

코드:
result = []
with open('1-10Basic.IPYNB', mode='r', encoding='utf-8') as f:
    for line in f.readlines():
        word_list = list(line)
        # print(word_list)
        for _ in range(len(word_list)):
            result.append(word_list.pop())

print("파일의 단어수 {}개".format(len(result)))

해석: 코드

result = []

result라는 리스트의 빈집을 하나 만든다. 아래 코드에서 result라는 리스트에 파일의 단어수를 하나씩 집어 넣을 예정임.


with open('1-10Basic.IPYNB', mode='r', encoding='utf-8') as f:

1-10Basic.IPYNB 파일을 읽기 모드와 유니코드 encoding 형식으로 열고 이것을 f라고 명명한다. 그리고 이후 자동으로 닫아라(with~as)


for line in f.readlines():
word_list = list(line)

readlines()라는 함수로 1-10Basic.IPYNB파일에 있는 한줄 한줄을 list 형식으로 쪼개고 word_list에 대입한다. 읽기모드로 열었던 행위를 f라고 명명했기 때문에 f.readlines()


for _ in range(len(word_list)):
            result.append(word_list.pop())

쪼개진 각 줄 마다 포함된 문자들의 숫자를(len(wordlist)) range에 넣고 해당 줄에 포함된 문자의 갯수만큼 반복을 한다. 어떤 반복을? 각줄(list(world_list))에 포함된 문자의 숫자만큼 문자를 하나씩 꺼내서(pop()), result = [] 리스트에 추가시킨다. for 뒤에 (언더바)는 word_list.pop()을 의미한다.


print("파일의 단어수 {}개".format(len(result)))

"파일의 단어수 {}개" 라는 str을 위에서 만든 result = [] 리스트의 갯수(len)만큼 프린트 한다. len(result)숫자는 {}안에 들어간다.("{}".format(숫자)).

profile
상위 1%의 금융데이터 분석가를 꿈꿉니다.

0개의 댓글