#!/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("❌ 未找到正确的替换位置")