Files
teach_sys_Demo/fix_assistant_designer.py

63 lines
2.3 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import json
import re
# 读取清理后的数据
with open('resume_updates_cleaned.json', 'r', encoding='utf-8') as f:
updates = json.load(f)
# 获取文创产品设计师助理的数据
assistant_data = next((u for u in updates if u['position'] == '文创产品设计师助理'), None)
if not assistant_data:
print("未找到文创产品设计师助理数据")
exit(1)
# 读取文件
with open('src/mocks/resumeInterviewMock.js', 'r', encoding='utf-8') as f:
content = f.read()
# 构建要替换的studentInfo
student_info = assistant_data['studentInfo']
project_exp = student_info['project_experience']
# 转义特殊字符
description = project_exp['description'].replace('`', '\\`').replace('"', '\\"')
personal_summary = student_info['personal_summary'].replace('"', '\\"')
# 构建新的studentInfo内容
new_student_info = f'''{{
project_experience: {{
project_name: "{project_exp['project_name']}",
position: "{project_exp['position']}",
time_period: "{project_exp['time_period']}",
company: "{project_exp['company']}",
description: `{description}`
}},
core_skills: {json.dumps(student_info['core_skills'], ensure_ascii=False, indent=10)},
compound_skills: {json.dumps(student_info['compound_skills'], ensure_ascii=False, indent=10)},
personal_summary: "{personal_summary}"
}}'''
# 查找文创产品设计师助理在resumeTemplates中的位置第三个位置
# 使用更精确的模式来定位第三个实例
pattern = r'(position: "文创产品设计师助理",\s+level: "普通岗",[\s\S]*?studentInfo: )(\{[^}]*(?:\{[^}]*\}[^}]*)*\})'
matches = list(re.finditer(pattern, content))
print(f"找到 {len(matches)} 个匹配")
if len(matches) > 0:
# 使用最后一个匹配应该是在resumeTemplates中的
match = matches[-1]
# 替换studentInfo
new_content = content[:match.start(2)] + new_student_info + content[match.end(2):]
# 保存文件
with open('src/mocks/resumeInterviewMock.js', 'w', encoding='utf-8') as f:
f.write(new_content)
print("✅ 文创产品设计师助理已更新")
else:
print("❌ 未找到正确的替换位置")