有一个学生信息文件student.txt,文件格式如下 103 吴勇 J179 1998-03-04 158 刘三 J176 1995-11-05 240 何坤 J176 1996-03-26 238 赵军 J179 1997-03-14 …… 分别代表学生的学号、姓名、班级、和生日 要求将学生信息按班级进行划分,将同一个班级的学生存放进不同的班级文件中(以班级名称做为文件名) 比如:在J179.txt文件中,存放 103 吴勇 J179 1998-03-04 238 赵军 J179 1997-03-14 …… 在J176.txt文件中,存放 158 刘三 J176 1995-11-05 240 何坤 J176 1996-03-26 …… 注意:有几个班级现在是未知的。 要求: 良好的编码规范,良好的命名和合理的注释
时间: 2024-01-30 11:02:31 浏览: 25
以下是Python代码实现:
```python
# 读取student.txt文件并按班级分组
with open('student.txt', 'r') as f:
lines = f.readlines()
class_dict = {}
for line in lines:
student_info = line.split()
class_name = student_info[2]
if class_name not in class_dict:
# 新建班级文件
class_file = open(class_name+'.txt', 'w')
class_dict[class_name] = class_file
# 写入学生信息到对应班级文件中
class_file = class_dict[class_name]
class_file.write(line)
# 关闭所有班级文件
for class_file in class_dict.values():
class_file.close()
```
首先,我们打开`student.txt`文件并逐行读取,将每行学生信息按照空格分隔开来。然后我们根据班级名称将学生信息分组,存储到一个字典`class_dict`中,其中字典的键为班级名称,值为该班级对应的文件对象。如果该班级还没有对应的文件,则新建一个文件并将文件对象存储到字典中。
接着,我们将每行学生信息写入到对应班级的文件中。最后,我们关闭所有班级文件。