美文网首页
python自动化一键查作业!解放双手他不香吗?

python自动化一键查作业!解放双手他不香吗?

作者: 爱是一道光_e5f7 | 来源:发表于2021-03-29 13:33 被阅读0次

前言:写在前面

作为一个成熟稳重的大学生,我们的必修课可不就是最大限度的偷懒吗?作为班长,每次面对一堆文件,还要查谁没交,这可是一件很头大的事情!!!!

科技改变生活,感谢科技!让我产生了用python写代码一键检查作业的想法,废话不多说!上源码!!

一、源码

1、结果展示

已交齐:

 未交齐:

2、源码

  python源代码如下:

import glob

import os

import pandas as pd

def unfinished(student_complete,student_lst):

    result = []

    # 未选课

    result_abnormal = []

    for i in student_lst:

        if i not in student_complete:

            result.append(i)

    for j in student_complete:

        if j not in student_lst:

            result_abnormal.append(j)

    if(len(result_abnormal) != 0):

        print('未操作系统选讲作业但已交作业的同学为:',result_abnormal)

    return result

def complete(file_lst):

    result = []

    # 文件命名异常

    result_abnormal = []

    # 截取姓名

    for i in range (0,len(file_lst)):

        if (len(file_lst[i]) == 28):

            result.append(file_lst[i][14:17])

        elif(len(file_lst[i]) == 27):

            result.append(file_lst[i][14:16])

        else:

            result_abnormal.append(file_lst[i])

    if (len(result_abnormal) != 0):

        print('操作系统选讲作业文件命名异常的同学为:',result_abnormal)

    return result

def roster(path_roster):

    # 获取Excel列

    df = pd.read_excel(path_roster, usecols=[2],names=None)  # 读取项目名称列,不要列名

    # 将列转为list,每个元素均为list

    df_lit = df.values.tolist()

    # 转化为一个列表

    result = []

    for s_lit in df_lit:

        result.append(s_lit[0])

    return result

def Making_list(file_dir,path_roster):

    # 获取文件名

    file_lst = os.listdir(file_dir)

    # 获取已提交学生名单

    student_complete = complete(file_lst)

    # 获取全部学生名单

    student_lst = roster(path_roster)

    # 未提交学生名单

    student_Making = unfinished(student_complete,student_lst)

    return student_Making,len(student_complete)

if __name__ == '__main__':

    # 定义作业文件夹路径

    path_file = 'D:\Desktop\操作系统选讲作业\操作系统选讲第一次作业'

    # 定义花名册路径

    path_roster = 'D:\Desktop\操作系统选讲作业\花名册.xlsx'

    # 交齐则输出交齐,未交齐输出未交名单

    lst,num = Making_list(path_file, path_roster)

    if (len(lst) == 0):

        print('本次作业已交齐')

    else:

        print('操作系统选讲选课人数:54',';作业已提交人数:',num,';未提交人数:',(54 - num))

        print('操作系统选讲作业缺交名单为:','\n',lst)

二、源码注解

1、所使用依赖包

  所使用到的依赖包共三个,如下所示:

# glob模块提供了相关文件操作

import glob 

# os模块提供了非常丰富的方法用来处理文件和目录

import os

# pandas提供了大量能使我们快速便捷地处理数据的函数和方法

import pandas as pd

 依赖包安装:

# 在cmd行输入:

pip install glob

pip install os

pip install pandas

#最后查看是否已安装:

pip list

2、调用函数

  所使用自定义函数如下:

# 获取未提交名单

def unfinished(student_complete,student_lst):

# 获取已提交名单

def complete(file_lst):

# 获取班级花名册

def roster(path_roster):

# 获取未提交名单

def Making_list(file_dir,path_roster):

# 函数入口

if __name__ == '__main__':

三、使用方法

  自定义函数无需更改。需要更改如下:

#只需要将作业文件夹路径和班级花名册路径更改为本地路径即可。

if __name__ == '__main__':

    # 定义作业文件夹路径

    path_file = 'D:\Desktop\操作系统选讲作业\操作系统选讲第一次作业'

    # 定义花名册路径

    path_roster = 'D:\Desktop\操作系统选讲作业\花名册.xlsx'

花名册样式:

文件命名格式:

学号+姓名+第几次作业

例如:

0000000000000+小黑+第一次作业

  学号需要13位,不够13位用0补齐即可。对文件一键重命名请前往主页查看。

近期有很多朋友通过私信咨询有关Python学习问题。为便于交流,点击蓝色自己加入讨论解答资源基地

相关文章

  • python自动化一键查作业!解放双手他不香吗?

    前言:写在前面 作为一个成熟稳重的大学生,我们的必修课可不就是最大限度的偷懒吗?作为班长,每次面对一堆文件,还要查...

  • 微软开源最强Python自动化神器Playwright!不用写一

    相信玩过爬虫的朋友都知道selenium,一个自动化测试的神器工具。写个Python自动化脚本解放双手基本上是常规...

  • Python爬虫自动化,帮小姐姐解放双手!

    项目来源: 漂亮学姐因为工作需要,得根据已有的学校名单,采集它们的英文名称,描述,简称有的话也带上。共有 2740...

  • 解放双手

    我发现,地铁不拥挤的时候喜欢不去扶扶手的人,和地铁挤满的时候依然不扶扶手的人是一群人。 不拥挤的时候不扶扶...

  • 解放双手

    这两天,一直很心烦,又要上公开课又要知识大比武,弄得我有些焦虑。怕两头都做不好。 发现自己有时候真的...

  • 解放双手

    今天的主题是:解放双手。 解放双手:就是人类开始自立行走。人类开始直立行走后,释放了双手,人类就可以用双手来劳动,...

  • 解放双手

    坐在副驾的我,被暖暖的太阳照着,眯起眼睛听着音乐,今天,"我终于实现了解放双手的自由!"心中暗在窃喜中,偷偷瞥了眼...

  • 使用Python 操作PPT 自动化办公解放双手- StudyQ

    最近由于操作PPT制作实习证明,由于每个人的名字,性别,部门都不一样,手写比较麻烦。 就研究了一波使用PYTHON...

  • Python:从FGO中解放双手

    前言 我还是来讲一下写一个完整的FGO脚本的思路吧QWQ,具体代码的实现就不说了,直接到GitHub上面看代码就是...

  • UI自动化测试框架

    本篇要讲的是Android自动化测试框架UiAutomator。从此解放UI测试的双手。 在写测试用例之前,先...

网友评论

      本文标题:python自动化一键查作业!解放双手他不香吗?

      本文链接:https://www.haomeiwen.com/subject/kgkyhltx.html