Python进行作业收交情况统计
前提(待优化):收到的文件均以学生姓名+学号来命名好了的,文件名格式统一,文件名除了学号外不存在别的数字。(推荐使用乐云进行文件收取)
实现的功能:
1.读入一个以"学号+姓名"为格式每行记录一个学生的数据的student_list.txt,统计每个学生的上交情况
2.文件大小异常统计,如果有文件小于2kb的,则判定为文件大小异常,需要进行进一步的确认
# 读入文件夹有谁交了的学号
import os
path ='./模式识别非线性判别-作业1/'
files= os.listdir(path)
name = []
ab_size = []
for i in range(0,len(files)):# 添加了判断文件大小异常的功能,如果文件大小小于2kb,则判断为大小异常size = os.path.getsize(path+files[i])if size/float(1024)<2:ab_size.append(files[i]+" "+str(size/float(1024))+'kb')name.append( ''.join(filter(str.isdigit, files[i])))sub_number = list(filter(None, name))
# submitted为已交作业人数
submitted = len(sub_number)print("已交作业人数:",submitted)
print("未交人数:",(51-submitted))
print("提交率:{:.2%}".format(submitted/51))
# 列出没有交作业的名单
student_list =[]
for line in open('student_list.txt','r',encoding='utf-8'):if ''.join(filter(str.isdigit, line[:-1])) in sub_number:continueelse:student_list.append(line[:-1])print("未交作业名单:\n",student_list)
print("异常大小的文件:\n",ab_size)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
