2014-12-07 2 views
0

Я использую Python 3 для изучения чтения в файлах и использования словарей. Я пытаюсь закрыть файл, но вместо этого получаю ошибку.Получение сообщения AttributeError при попытке закрыть файл

AttributeError: 'tuple' object has no attribute 'close'. 

код:

try: 
ifile = ("inputfile.txt", "r") 
except IOError: 
    print("Error opening file") 
else: 
    for line in ifile: 
     line = line.strip() 
     if not line or line[0] == "#": 
      continue 
     else: 
      data =line.split(" ") 
    mydict = {} 

    for item in data: 
     key = item[0] + item[-1] 

     value = item[1:-1] 
     mydict[key] = [value] 
    print(mydict) 
    ifile.close() 

Почему происходит эта ошибка, и как я могу это исправить?

+0

Есть только одна строка в файле ввода? Тогда цикл for раздражает. Вам действительно нужен список списков в вашем dict? – Daniel

ответ

3

Вы не открыли файл! Вы только что создали tuple, изменить следующим образом:

ifile = ("inputfile.txt", "r") 

к:

ifile = open("inputfile.txt", "r") 
Смежные вопросы