Это программа для подсчета слов в большом текстовом файле.Я считаю слова и отображаю 20 наиболее распространенных слов.
from timeit import default_timer as timer
from collections import Counter
start = timer()
with open("word5gb.txt", 'r') as input_file:
file_contents = ""
for line in input_file:
file_contents += line
word_list = file_contents.split() #create word list
new_list = sorted(word_list, key=Counter(word_list).get, reverse=True) #sorting
new_list = list(dict.fromkeys(new_list)) #eliminates duplicates
print(new_list[0:20])
print(new_list[-20:-1])
end = timer()
print('\n', "Time: ", round(end - start, 2), "s (", round(((end - start)/60),2), " min)")
Но когда я запускаю программу, используя текстовый файл 5 ГБ, через некоторое время отображается информация об ошибке:
word_list = file_contents.split() #create word list
builtins.MemoryError:
У меня 8 ГБ, Windows 64-bit, и я использую Python 3.7 64-bit.
Мне нужна ваша помощь.Как быстро и просто решить эту проблему?