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:
        continue
    else:
        student_list.append(line[:-1])

print("未交作业名单:\n",student_list)
print("异常大小的文件:\n",ab_size)
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值