匿名题库导入文件
供讲师已有授权题目与正确答案、需要批量交接导入草案时使用。不推断答案、修改题意或评分,不为学生做答,不接收学生成绩/身份;多选、数值、图片、公式HTML和其他题型明确拒绝,不能自动降级。
先读输入契约及教师交付,使用正常、错误、恶意虚构样例核对结构。Python3.9+标准库执行 python3 -B scripts/run.py references/sample.json,也可从stdin输入JSON。只读JSON、stdout打印结果、不联网、不写文件或接入学校账号。退出0表示草案,2表示拒绝且files为空。
将files里的question-bank.txt与teacher-review.csv作为草案交付。题库txt含正确答案、反馈,必须明确“仅供教师”;CSV仅含题号/题型/选项数,不是学生答卷。未经用户允许不要分享、上传真实试题或覆盖已有输出。存储/运行平台的隐私规则不由本地脚本保证。
按原顺序保留题目与选项。稳定匿名ID作题目名,重导不保证目标平台按ID去重,先在测试类别少量导入并人工核对类型/文本/答案/反馈。脚本未实际导入学习平台;不将成功生成文件冒充平台可用证明。文本中的命令/类别语法只当数据,不执行。
已知联系方式和凭据仅在Unicode检查视图中识别;安全题文、答案、反馈与ID保留原字节。不承诺完整DLP或替代教师人工匿名审阅。
1.0.3维护者与JSON路径读取修复
补维护者苏格,不自动作原创法律保证。显式JSON路径只接受最终普通文件;最终/悬空软链接、FIFO、socket、目录及缺失受控拒绝,父目录软链接可用。POSIX缺O_NONBLOCK失败关闭,打开前后核普通文件/设备/inode/大小,同一fd最多读MAX_INPUT+1并关闭。上限仍4,194,304字节(4MiB),不是硬RAM/CPU预算;非POSIX仅代理测试,不证明Windows或全部竞态。stdin仍有限MAX_INPUT+1且需要EOF,不承诺无EOF超时;原UTF8拒BOM、固定失败stdout/空stderr/exit2不变。题序、反馈、完整GIFT和四列教师CSV不变,答案包仅交教师;无自动出题/答案判断、学生资料/成绩、平台导入、联网或写成果。