Проблема Python: AttributeError: объект '_io.TextIOWrapper' не имеет атрибута 'split'

Я пытаюсь создать программу, которая открывает текстовый файл и читает его по одному слову в окне. Я получаю ошибку в первой строке здесь:

fileWords = file.split()
for line in fileWords:
    text.setText("{}".format(line))
    time.sleep(sec)

Вот что я получаю, когда программа доходит до этого бита:

AttributeError: '_io.TextIOWrapper' object has no attribute 'split'.

Что означает эта ошибка и как ее исправить.


person ComfyRice    schedule 10.03.2017    source источник
comment
Возможный дубликат Python: AttributeError: объект '_io.TextIOWrapper' имеет нет разделения атрибута   -  person Evgeniy Mironov    schedule 10.03.2017
comment
Хотя очевидно, что вы начинающий программист, я хотел бы поблагодарить вас за четкий вопрос с четким описанием ошибки, которую вы получаете на основе кода, который вы на самом деле написали сами. В наши дни этого не так много, и приятно видеть правильно заданный вопрос новичка.   -  person Mad Physicist    schedule 13.03.2017


Ответы (1)


Сначала вам нужно извлечь содержимое файла:

fileWords = f.read().split()

Кроме того, не используйте file, так как это встроенный класс Python!

Другой вариант, если вы хотите перебирать строки (не слова):

fileLines = f.readlines()
for line in fileLines:
    ...
person Carles Mitjans    schedule 10.03.2017
comment
зарезервировано только python 2 BTW. - person Jean-François Fabre; 10.03.2017