作业统计2.1(实现选择文件和文件夹路径)

    科技2025-08-11  5

    import os import time import xlwt import xlrd import tkinter as tk from tkinter import filedialog def findAllFile(base): for root, ds, fs in os.walk(base): for f in fs: yield f def main(): root = tk.Tk() root.withdraw() print('欢迎使用七月作业统计程序(结果仅供参考)') print('作者博客https://blog.csdn.net/xiaobai_July') print('=======================================================') print('选择名单模板excel文件') Filepath = filedialog.askopenfilename() # 获得选择好的文件 time.sleep(2) print('请输入你的班级 1(一班)2(二班)') classnum=input() print('选择作业文件夹路径') Folderpath = filedialog.askdirectory() time.sleep(1) count=0 num_name={} submit_list=[] submit_list2=[] xlrds = xlrd.open_workbook(Filepath) # 打开指定的表 table = xlrds.sheet_by_index(0) # 获取总行数 rows = table.nrows keys = [] values = [] for i in range(1, rows): keys.append(table.cell(i, 0).value) values.append(table.cell(i, 1).value) num_name = dict(zip(keys, values)) for i in findAllFile(Folderpath): for a in num_name: if i.split("20201020"+classnum)[1][0:2]==a: submit_list.append(a+''+num_name[a]) submit_list2.append(a) count += 1 for key in list(num_name.keys()): for i in submit_list2: if key==i: del num_name[key] continue print('共提交',count,'份作业') print('\n') print('提交名单',submit_list) print('\n') print('未交', len(num_name),'人') print('\n') print('名单',list(num_name.values())) print('\n') print('是否生成excel文件?1是2否') flag = input() if flag=='1': print('生成完毕,请在和本程序同级目录查看') # 创建工作簿 f = xlwt.Workbook() # 创建一个sheet sheet1 = f.add_sheet('未交作业名单', cell_overwrite_ok=True) col1 = sheet1.col(0) col1.width = 256 * 38 # 第一个是行,第二个是列 都是从0开始 for i in range(0, len(list(num_name.keys()))): sheet1.write(i, 0, list(num_name.values())[i]) # 保存文件 f.save('未交作业名单.xls') else: print('取消生成,2s后退出') time.sleep(2) if __name__ == '__main__': main() # pyinstaller -F 打成exe
    Processed: 0.008, SQL: 8