#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