TDT4109/Exercise 9/9.py

29 lines
673 B
Python
Raw Permalink Normal View History

2020-10-27 23:07:19 +01:00
from re import sub, split
def read_from_file(path):
with open(path, 'r') as file:
return file.read()
def remove_symbols(string):
return sub(r'[^A-Za-z ]', '', string).lower()
def count_words(path):
with open(path, 'r') as file:
words = split('\s+', remove_symbols(file.read()))
if words[0] == '': words = words[1:]
if words[-1] == '': words = words[:-1]
word_counts = {}
for word in words:
if not word in word_counts: word_counts[word] = 0
word_counts[word] += 1
return word_counts
if __name__ == "__main__":
alice_dict = count_words('alice_in_wonderland.txt')
for word, value in alice_dict.items():
print(word, value)