-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathstudentfile.py
39 lines (34 loc) · 1.11 KB
/
studentfile.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
class StudentFileReader:
def __init__(self, inputSrc):
self._inputSrc = inputSrc
self._inputFile = None
def open(self):
self._inputFile = open(self._inputSrc, "r")
def close(self):
self._inputFile.close()
self._inputFile = None
def fetchAll(self):
theRecords = list()
student = self.fetchRecord()
while student != None:
theRecords.append(student)
student = self.fetchRecord()
return theRecords
def fetchRecord(self):
line = self._inputFile.readline()
if line=="":
return None
student = StudentRecord()
student.idNum = int(line)
student.firstName = self._inputFile.readline().rstrip()
student.lastName = self._inputFile.readline().rstrip()
student.classCode = int(self._inputFile.readline())
student.gpa = float(self._inputFile.readline())
return student
class StudentRecord:
def __init__(self):
self.idNum = 0
self.firstName = None
self.lastName = None
self.classCode = 0
self.gpa = 0.0