处理一些需要使用try-except-finally的代码。它需要读取文件的行,将每一行分成一个单词列表,然后遍历行中的每个单词,并使用字典计算每个单词。
这是我目前的代码:
try:
input_filename = input("Enter a filename:")
input_file = open(input_filename, "r")
content_str=input_file.read()
words_list = content_str.split()
for word in words_list:
if word not in counts:
counts[word] = 1
else:
counts[word] += 1
input_file.close()
except IOError:
print ("The file temp doesn't exist.")
finally:
pass
答案 0 :(得分:1)
您的问题出在if
声明中。您检查word
中是否存在counts
作为密钥,如果存在,则将其设置为1
。 但是,如果它不存在,则向其中添加一个。因此,我假设您打算切换两个,尝试以下代码:
count = {}
try:
file_str = input("Enter a filename:")
input_file = open(file_str, 'r')
word = input_file.read()
if word in counts:
counts[word] += 1
print(counts)
else:
counts[word] = 1
print(counts)
except KeyError:
print("Key error occured")
except IOError:
print("The file temp doesn't exist.")