#!/usr/bin/env python3 # -*- coding: utf-8 -*- import json import re def load_visual_design_data(): """加载视觉设计岗位简历数据""" with open('网页未导入数据/视觉设计产业/视觉设计岗位简历.json', 'r', encoding='utf-8') as f: return json.load(f) def extract_questions_from_content(content): """从面试题内容中提取问题和答案""" questions = [] # 找到所有问题和答案对 pattern = r'(\d+)\.\s*问题[::]?\s*(.*?)(?:\n\s*)?(?:参考回答[::]?)(.*?)(?=\d+\.\s*问题|$)' matches = re.findall(pattern, content, re.DOTALL) for match in matches[:5]: # 限制为前5个问题 q_num = match[0] question_text = match[1].strip() answer_text = match[2].strip() questions.append({ "id": f"q{q_num}", "question": question_text, "answer": answer_text }) return questions def generate_js_code(): """生成可以直接使用的JS代码""" visual_data = load_visual_design_data() # 生成一个映射对象 questions_map = {} for item in visual_data: position_name = item.get('岗位名称', '') interview_content = item.get('面试题内容', '') if position_name and interview_content: questions = extract_questions_from_content(interview_content) if questions: questions_map[position_name] = questions # 生成JS代码 js_code = "// 视觉设计产业岗位面试题数据\nconst visualDesignQuestions = {\n" for position_name, questions in questions_map.items(): js_code += f' "{position_name}": [\n' for q in questions: # 对特殊字符进行转义 question_escaped = q['question'].replace('\\', '\\\\').replace('"', '\\"').replace('\n', '\\n') answer_escaped = q['answer'].replace('\\', '\\\\').replace('"', '\\"').replace('\n', '\\n') js_code += f''' {{ id: "{q['id']}", question: "{question_escaped}", answer: "{answer_escaped}" }},\n''' js_code = js_code.rstrip(',\n') + '\n ],\n' js_code = js_code.rstrip(',\n') + '\n};\n\nexport default visualDesignQuestions;' # 保存到文件 with open('visualDesignQuestions.js', 'w', encoding='utf-8') as f: f.write(js_code) print("已生成visualDesignQuestions.js文件") print(f"包含{len(questions_map)}个岗位的面试题数据") if __name__ == '__main__': generate_js_code()