使用python编写假设现在有一个目录下面存放着同学们交上来的作业文件,文件命名不规范,但文件名中一定包含姓名。请根据班级名单文件(一个excel表,包含学号和姓名两列数据),编写程序输出未交作业同学的名单。
时间: 2024-11-14 15:22:56 浏览: 20
在Python中,你可以使用`pandas`库处理Excel文件,`os`库遍历目录,以及一些字符串操作来完成这个任务。以下是大致步骤:
1. 首先,安装必要的库,如果尚未安装,可以使用以下命令:
```bash
pip install pandas openpyxl
```
2. 导入库并读取班级名单(假设名字叫class_list.xlsx,使用openpyxl读取xlsx文件):
```python
import pandas as pd
class_list = pd.read_excel('class_list.xlsx', sheet_name='Sheet1') # 假设班级名单在一个名为'Sheet1'的工作表里
students = class_list['姓名'].tolist() # 提取姓名列表
```
3. 然后,遍历作业文件夹(假设名字叫assignments):
```python
import os
dir_path = 'assignments'
unsubmitted_students = [] # 存储未提交作业的同学姓名
for filename in os.listdir(dir_path):
if not filename.endswith('.txt'): # 只考虑.txt类型的作业文件
continue
student_name = filename.split('_')[0] # 假设文件名格式是"学生姓名_作业描述.txt"
if student_name not in students:
unsubmitted_students.append(student_name)
```
4. 最后,输出未提交作业的学生名单:
```python
print("以下同学还未提交作业:")
for student in unsubmitted_students:
print(student)
```
阅读全文