как я могу прочитать каждое слово строки из файла отдельно?

#python #file #class

Вопрос:

итак, проблема, с которой я столкнулся, заключается в том, что мне нужно прочитать каждое слово строки из строки по одному и повторить его для всего файла. каждое из слов отделено друг от друга знаком#, например, 2016/2017#Southeast_Kootenay#Mount_Baker_Secondary#СТАНДАРТ#КУРСОВЫЕ_МАРКИ#99.0#71.0#88.0#49.0 после этого мне нужно присвоить каждое значение соответствующему элементу класса, например: school_years будет 2016/2017, имя района будет Southeast_Kootenay и т. Д. дело в том, что я знаю, как это сделать, мне удалось извлечь первое слово из файла, но я не смог сделать это для всей строки, не говоря уже о целом файле, это код, который я использовал.

 def word_return():  for lines in file:  for word in lines.split('#'):  return word  

мы будем признательны за любую помощь

Комментарии:

1. Измените значение return на yield , и во время вызова позвоните list(word_return())

Ответ №1:

Ты возвращаешь один-единственный word . Удалите последнюю for и верните весь список следующим образом, если вы хотите получить только первую строку:
(Предполагая file , что это список строк, полученных в результате file = open("file.txt", "r").readlines() )

 def word_return():  for line in open("yourFile.txt", "r").readlines():  return lines.split('#')  

Если вы хотите вернуть список, который будет содержать список для каждой строки, проверьте следующее:

 def word_return():  allLines = []  for line in open("yourFile.txt", "r").readlines():  allLines.append(lines.split('#'))  return allLines