收集作业---命名规范和清点人数

为确保作业收集团队的效率,课代表利用Python编写了一个小程序,用于检查提交的命名规范并统计交作业的人数。通过这个工具,可以轻松找出未交作业的同学。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作为一个认真负责好吃懒做 的课代表,收作业就要确认谁没交,一共交了多少人,还要注意提交命名格式(主要还是这个),So,顺手写了个小程序

# 获取含实验报告文件夹列表
def get_file():
    file_name = []
    # 可以自己放路径,我就放在上一级
    for item in os.listdir():
    # 对了,这文件夹是我手动创建了,有兴趣的可以自己弄个创建文件夹的代码
        if os.path.isdir(item) and '实验报告' in item:
            file_name.append(item)
    return file_name

def start():
    dict = {}
    # 做数据库太多余了,还是做成txt好
    StudentData = '学生名单路径'
    with open(StudentData, 'r', encoding='utf-8')as f:
        for i in f:
        # 我们这是学号+姓名,所以我用学号作为键,-1就是去\n
            dict[i[:9]] = i[9:-1]
    # 将全部学号弄成列表,看看谁没有交
    list2 = list(dict.keys())
    file_name = get_file()
    print(file_name)
    s = int(input('哪个文件夹?[1~999]  '))
    # 文件路径
    file_path = os.path.join(os.getcwd(),file_dir[s-1])
    # 获取文件夹下面的文件目录
    filename = os.listdir(file_path)
    # 这循环还可以优化下
    for i in filename:
        for k, v in dict.items():
            if k in i:
            	# 重命名好像是创建新文件,容易重复删除,然后报错
                if k in list2:
                     list2.remove(k)
                if not os.path.exists(os.path.join(file_path,k + v + '.doc')):
                # 命名规范
                    old = os.path.join(file_path,i)
                    new = os.path.join(file_path,k + v + '.doc')
                    # 你是重命名还是创建新文件啊?为什么会多了呢
                    os.rename(old,new)
    print(f'共交了:{len(filename)}人')
    for XH in list2:
        print(f'{dict.get(XH)}未交')
    input('完成')

start()

最后有请打包库pyinstaller出场了
在这里插入图片描述
让我看看谁没有交,再找他算账
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值