Проблема: программа застревает, открывая файл для чтения.
Моя проблема в том, что в самом начале программа кажется сломанной.Он просто отображает
[(1, 'C: \ Users \ .... \ Desktop \ Sense_and_Sensibility.txt')]
снова и снова, никогдаокончание.
( ПРИМЕЧАНИЕ: .... является заменой с целью публикации, поскольку мое имя пользователя на компьютере - мое полное имя).
Я не уверен, что яЯ закодировал это совершенно неправильно, или если у него есть проблемы с открытием файла.Любая помощь приветствуется.
Программа должна:
1: открыть файл, заменить все знаки препинания пробелами, изменить все слова на строчные, затем сохранить их в словаре.
2: посмотрите список слов (стоп-слов), которые будут удалены из исходного словаря.
3: подсчитать оставшиеся слова и отсортировать их по частоте.
fname = r"C:\Users\....\Desktop\Sense_and_Sensibility.txt" # file to read
swfilename = r"C:\Users\....\Desktop\stopwords.txt" # words to delete
with open(fname) as file: # have the program run the file
for line in file: # loop through
fname.replace('-.,"!?', " ") # replace punc. with space
words = fname.lower() # make all words lowercase
word_list = fname.split() # separate the words, store
word_dict = {} # create a dictionary
with open(swfilename) as delete: # open stop word list
for line in delete:
sw_list = swfilename.split() # separate the words, store them
sw_dict = {}
for key in sw_dict:
word_dict.pop(key, None) # delete common words
for word in word_list: # loop through
word_dict[word] = word_dict.get(word, 0) + 1 # count frequency
word_freq = [] # create index
for key, value in word_dict.items(): # count occurrences
word_freq.append((value, key)) # append freq list
word_freq.sort(reverse=True) # sort the words by freq
print(word_freq) # print most to least