尝试除了使用文件

时间:2016-03-21 01:28:25

标签: python-3.x exception

处理一些需要使用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 

1 个答案:

答案 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.")