python编程 给定学生的选课名单(学生选课名单.txt文件),每次实验课作业学生以word文档进行提交,现需设计程序根据选课名单中的学号或者姓名,对每次实验课学生是否交作业的情况进行判断,将没有交作业文档的学生的姓名学号打印并保存到本地文件中
时间: 2023-11-22 09:51:45 浏览: 85
以下是一个简单的实现,假设选课名单文件为"students.txt",每次实验课作业的文件夹为"homework",没有提交作业的学生名单将会被保存到"no_homework.txt"文件中:
```python
import os
# 读取选课名单
students = {}
with open("students.txt", "r") as f:
for line in f:
info = line.strip().split()
students[info[0]] = info[1]
# 遍历作业文件夹,查找没有提交作业的学生
no_homework = []
for student_id, student_name in students.items():
# 检查作业文件是否存在
if not os.path.exists(os.path.join("homework", f"{student_id}.docx")):
no_homework.append(f"{student_id}\t{student_name}")
# 保存没有提交作业的学生名单到文件中
with open("no_homework.txt", "w") as f:
f.write("学号\t姓名\n")
f.write("\n".join(no_homework))
```
需要注意的是,这里假设每个学生的作业文件名为其对应的学号加上".docx"后缀,如"20180101.docx"。如果实际情况不符,需要对代码进行相应修改。
阅读全文