【发布时间】:2016-03-21 01:28:25
【问题描述】:
处理一些需要使用 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
【问题讨论】:
-
word = input_file.read()行将整个文件读入一个字符串。然后该字符串成为count的唯一条目。您需要逐行循环文件for line in input_file:,然后将每一行分解为单词。 -
看看我编辑的代码对吗?
-
还是很短
-
请不要将您关于一个错误的问题编辑为关于另一个错误的问题。这样做,您使为响应第一个版本而编写的(正确,有用的)答案无效。如果您的跟进非常密切相关,您可以将其添加到问题的末尾,但不要去掉最初的部分。
-
至于您的新问题,这取决于您要查找的密钥以及文件中的内容。您没有使用
counts字典显示任何代码,也没有显示新异常的回溯,所以我怀疑有人可以帮助您。
标签: python-3.x exception