Я пытаюсь прочитать в отдельных элементах файла. В этом примере первый элемент каждой строки должен быть ключом словаря. Следующие пять элементов будут соответствующим значением для указанного ключа в форме списка.Python: чтение отдельных элементов файла
max_points = [25, 25, 50, 25, 100]
assignments = ['hw ch 1', 'hw ch 2', 'quiz ', 'hw ch 3', 'test']
students = {'#Max': max_points}
def load_records(students, filename):
#loads student records from a file
in_file = open(filename, "r")
#run until break
while True:
#read line for each iteration
in_line = in_file.readline()
#ends while True
if not in_line: break
#deletes line read in
in_line = in_line[:-1]
#initialize grades list
grades = [0]*len(students['#Max'])
#set name and grades
name, grades[0], grades[1], grades[2], grades[3], grades[4] = in_line.split()
#add names and grades to dictionary
students[name] = grades
print name, students[name]
filename = 'C:\Python27\Python_prgms\Grades_list.txt'
print load_records(students, filename)
Метод, который у меня есть сейчас, является чрезвычайно пещерным человеком, и я хотел бы знать, какой будет более элегантный метод петли. Я искал какое-то время, но я не могу найти правильный метод итерации. Помогите броте.
Вам не нужно прокомментировать каждую строку, особенно если это очевидно. – IanAuld
Как в стороне, эти типы проектов по сохранению являются моим примером № 1 того, как объектно-ориентированное программирование может упростить код. Представьте себе, что вместо этого есть список объектов «Student», каждый из которых имеет переменную «grades» экземпляра, которая представляет собой список объектов «Assignment», каждая из которых имеет переменные экземпляра 'max' и' score'. Эта проблема внезапно становится намного яснее. –