#!/usr/bin/env python3 """手动补充第7-10名智能制造学生数据""" import re from datetime import datetime def fix_ranking_data(): """手动添加第7-10名学生到topStudents数组""" # 读取现有文件 with open('src/data/mockData.js', 'r', encoding='utf-8') as f: content = f.read() # 备份 backup_time = datetime.now().strftime('%Y%m%d_%H%M%S') with open(f'src/data/mockData.js.backup_{backup_time}_fix', 'w', encoding='utf-8') as f: f.write(content) # 第7-10名学生的数据 additional_students = ''' { rank: 7, studentId: "2325010201", studentName: "赵雨欣", name: "赵雨欣", avatar: "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/avatar/douyin/29af3e9db4c435f0f3d76c1b91d8a7f6.jpg", score: 68, credits: 68, school: "苏州市职业大学", major: "数字化设计与制造技术", isMe: false }, { rank: 8, studentId: "2325010188", studentName: "赵敏", name: "赵敏", avatar: "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/avatar/douyin/2b2cb2ed96901b1bb3750559d6323620.jpg", score: 60, credits: 60, school: "苏州工业职业技术学院", major: "智能控制技术", isMe: false }, { rank: 9, studentId: "2325010161", studentName: "张宇轩", name: "张宇轩", avatar: "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/avatar/douyin/2e8af9fd9b8425946272fec27af82910.jpg", score: 51, credits: 51, school: "苏州工业职业技术学院", major: "机械制造及自动化", isMe: false }, { rank: 10, studentId: "2325010193", studentName: "周宏伟", name: "周宏伟", avatar: "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/avatar/douyin/3255be536cf8fb3ddece6cb2733a0c6b.jpg", score: 45, credits: 45, school: "苏州市职业大学", major: "机械制造及自动化", isMe: false },''' # 找到孙磊(第6名)后面的位置,添加第7-10名 # 查找模式:找到孙磊的结束位置 pattern = r'(studentName: "孙磊",[^}]*?isMe: false,?\s*},?)' def add_students(match): # 在孙磊数据块后添加逗号和新学生数据 return match.group(1) + ',\n' + additional_students # 执行替换 new_content = re.sub(pattern, add_students, content, flags=re.DOTALL) # 写回文件 with open('src/data/mockData.js', 'w', encoding='utf-8') as f: f.write(new_content) print(f"✅ 已添加第7-10名智能制造学生") print(f" - 备份文件: mockData.js.backup_{backup_time}_fix") print("\n新增学生:") print(" 7. 赵雨欣 - 68分") print(" 8. 赵敏 - 60分") print(" 9. 张宇轩 - 51分") print(" 10. 周宏伟 - 45分") if __name__ == "__main__": print("🚀 开始补充第7-10名学生数据...") fix_ranking_data() print("🎉 完成!")