# BatchInspect **Repository Path**: woangel/BatchInspect ## Basic Information - **Project Name**: BatchInspect - **Description**: 用于批量检测学生提交代码 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2025-03-26 - **Last Updated**: 2026-01-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BatchInspect #### 介绍 用于批量检测学生提交代码 #### batchInspect.py 使用说明 1. 在“当前正在检查/班级学生名单”文件夹中保存班级学生名单,文件名格式如“高一9班学生名单.xlsx”; 2. 在“当前正在检查/范例”文件夹中保存要检查的范例程序,文件名格式如“1.py”、“2.py”等; 3. 在“当前正在检查”文件夹中修改并保存“批量检查参数.json”; 4. 在“0-批量检查工具软件”文件夹中启动批量检查程序“batchInspect.py”,即可检查指定文件夹中学生的代码。 #### testSampleJsonConf.py 使用说明 1. 在“0-批量检查工具软件”文件夹中启动程序“testSampleJsonConf.py”,可使用“批量检查参数.json”中的每题的“标准输入数据”提供输入来测试“范例”程序的输出结果 2. 此时仍需人工判断输出结果是否符合预期,以此来判定“范例”和“标准输入数据”的正确性。 #### extractResource.py 使用说明 1. 在“0-批量检查工具软件”文件夹中打开程序“extractResource.py”,编辑程序语句source = Path("../历史检查备份/高一18班"),指定你要修改提取资源的文件夹,通常修改班级号即可。 2. 运行extractResource.py,可自动提取“高一18班”历次练习所用过的资源(包括范例,批量检查参数.json等),方便积累可复用的教学资源。 #### 批量检查参数.json使用说明 1. 批量检查参数配置文件采用JSON文件类型,类似Python语言中的字典,其中键值对的键一般采用字符串类型,文件中的布尔型的值采用true或false,与Python语言有差异; 2. "标准输入数据"指为待查程序或范例程序提供的键盘输入值,即测试数据,其中键即对应待查程序的文件名(文本格式),值的列表中存放测试数据(文本格式,如一次测试包括多个输入值,则使用一个字符串中包含多个输入值,每个值之间用“\n”隔开),如果列表有多个元素,即表示为待查程序提供多个测试点,如果没有测试数据,可为空列表,只可测试一次; 3. "选测代码名"中的列表值与"标准输入数据"字典中的键对应,表示本次要批量检查的程序文件名,可以是一个,也可为多个,课中可以选择一个来零星或多次检查,课后可选择全部批量检查; 4. "学生署名提交"若设置为true,则要求提交的文件名格式为姓名+待查程序名拼接的形式,如“王海5.py”,其中“5”为待查程序名,此为强制规定,不符合即判为“未提交”; 5. "学生署名提交"若设置为false,则要求提交的文件名格式直接为待查程序名形式,无需包含姓名信息,如“5.py”,其中“5”为待查程序名,此为强制规定,不符合即判为“未提交”。这种情况下的学生姓名是靠上一级文件夹名对应“班级学生名单\高一*班学生名单.xlsx”中的学号再对应姓名的;此时的文件夹名可为通过电子教室提交的的用户名、机号或IP地址,通常取后两位作为学号; 6. "存入历史档案"在课中检查应设为false,因为这些零星的多次检查不应保存到历史档案中,否则造成数据失真; 7. "存入历史档案"在课后检查可设为true,因为学生不再提交,提交状态稳定下来,所有提交作业的检查数据可保存到历史档案中,此时不应多次检查同批作业,否则相同结果数据会多次累加到历史档案中; 8. "标准输入数据"中的键、"选测代码名"的元素、待查程序的主名和范例程序的主名应是一一对应的。