Я хотел бы заполнить каждую строку в файле отдельным объектом класса student из другого модуля, а затем сохранить его в списке, но я получаю сообщение об ошибке, строка 6 NameError: имя «Sid» не определено. ...
2 ответа
Имена переменных Sid
, Sname
и Sage
не существуют в вашем цикле foor, эти переменные были определены в вашем классе Student
. Насколько я понимаю, у вас есть текстовый файл с 3 столбцами и (каждый столбец представляет Sid
, Sname
и Sage
соответственно).
def readStudent():
student_list = []
with open("Student.txt", "r") as f:
for line in f:
student = Student(*line.split())
student_list.append(student)
Вы, вероятно, имели в виду что-то вроде этого:
for line in f:
sid, sname, sage = line.split(",")
student = Student(sid, sname, int(sage))
student_list.append(student)
О, и вы забыли return student_list
из функции.
Кстати, если вы изучаете Python, не забудьте ознакомиться с руководством по стилю pep-8: https://www.python.org/dev/peps/pep-0008/
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.