#!/usr/bin/env python3 # -*- coding: utf-8 -*- import json import re import datetime import shutil def limit_automation_control_questions(): """ 限制自动化控制岗位群的面试题为前10个 """ mock_file = "src/mocks/resumeInterviewMock.js" # 备份文件 backup_path = f"{mock_file}.backup_{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}" shutil.copy(mock_file, backup_path) print(f"✅ 已备份文件到:{backup_path}") # 读取文件内容 with open(mock_file, 'r', encoding='utf-8') as f: content = f.read() # 查找自动化控制部分的industries数组 industries_match = re.search(r'const industries = (\[[\s\S]*?\]);', content) if industries_match: industries_str = industries_match.group(1) # 解析为Python对象 try: industries = json.loads(industries_str) # 找到自动化控制岗位群 for industry in industries: if industry.get("name") == "自动化控制": # 获取questions数组 if industry.get("questions") and len(industry["questions"]) > 0: question_obj = industry["questions"][0] if "subQuestions" in question_obj and len(question_obj["subQuestions"]) > 10: # 只保留前10个问题 original_count = len(question_obj["subQuestions"]) question_obj["subQuestions"] = question_obj["subQuestions"][:10] print(f"✅ 自动化控制岗位群:从 {original_count} 个问题减少到 10 个") # 将更新后的数据转回JSON字符串 new_industries_str = json.dumps(industries, ensure_ascii=False, indent=2) # 替换原内容 new_content = content[:industries_match.start(1)] + new_industries_str + content[industries_match.end(1):] # 写回文件 with open(mock_file, 'w', encoding='utf-8') as f: f.write(new_content) print("✅ 成功更新自动化控制岗位群的面试题数量") # 验证更新后的数量 verify_questions_count(mock_file) except json.JSONDecodeError as e: print(f"❌ JSON解析错误: {e}") else: print("❌ 未找到industries数组") def verify_questions_count(mock_file): """ 验证各岗位群的面试题数量 """ with open(mock_file, 'r', encoding='utf-8') as f: content = f.read() # 查找industries数组 industries_match = re.search(r'const industries = (\[[\s\S]*?\]);', content) if industries_match: industries_str = industries_match.group(1) try: industries = json.loads(industries_str) print("\n📊 各岗位群面试题数量统计:") for industry in industries: name = industry.get("name", "") questions = industry.get("questions", []) if questions and len(questions) > 0: sub_questions = questions[0].get("subQuestions", []) print(f" - {name}: {len(sub_questions)}个问题") except json.JSONDecodeError: print("验证时JSON解析错误") if __name__ == "__main__": limit_automation_control_questions()