Files
ALL-teach_sys/frontend_能源/limit_automation_questions.py

93 lines
3.3 KiB
Python
Raw Normal View History

#!/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()