56 lines
1.7 KiB
Python
56 lines
1.7 KiB
Python
|
|
#!/usr/bin/env python3
|
|||
|
|
# -*- coding: utf-8 -*-
|
|||
|
|
|
|||
|
|
import json
|
|||
|
|
import re
|
|||
|
|
import datetime
|
|||
|
|
import shutil
|
|||
|
|
|
|||
|
|
def clean_interview_questions():
|
|||
|
|
"""
|
|||
|
|
清理面试题数据,删除difficulty和tags字段
|
|||
|
|
"""
|
|||
|
|
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()
|
|||
|
|
|
|||
|
|
# 使用正则表达式删除difficulty和tags字段
|
|||
|
|
# 删除difficulty行
|
|||
|
|
content = re.sub(r',?\s*"difficulty":\s*"[^"]*"', '', content)
|
|||
|
|
|
|||
|
|
# 删除tags字段(包括数组内容)
|
|||
|
|
content = re.sub(r',?\s*"tags":\s*\[[^\]]*\]', '', content)
|
|||
|
|
|
|||
|
|
# 清理多余的逗号(如果answer后面有逗号但后面没有其他字段)
|
|||
|
|
content = re.sub(r'("answer":\s*"[^"]*"),\s*\n\s*}', r'\1\n }', content)
|
|||
|
|
|
|||
|
|
# 清理多余的空行
|
|||
|
|
content = re.sub(r'\n\s*\n\s*\n', '\n', content)
|
|||
|
|
|
|||
|
|
# 写回文件
|
|||
|
|
with open(mock_file, 'w', encoding='utf-8') as f:
|
|||
|
|
f.write(content)
|
|||
|
|
|
|||
|
|
print("✅ 成功清理面试题数据")
|
|||
|
|
|
|||
|
|
# 验证清理结果
|
|||
|
|
with open(mock_file, 'r', encoding='utf-8') as f:
|
|||
|
|
check_content = f.read()
|
|||
|
|
|
|||
|
|
difficulty_count = len(re.findall(r'"difficulty"', check_content))
|
|||
|
|
tags_count = len(re.findall(r'"tags"', check_content))
|
|||
|
|
|
|||
|
|
if difficulty_count == 0 and tags_count == 0:
|
|||
|
|
print("✅ 验证成功:已完全删除difficulty和tags字段")
|
|||
|
|
else:
|
|||
|
|
print(f"⚠️ 仍有残留:difficulty出现{difficulty_count}次,tags出现{tags_count}次")
|
|||
|
|
|
|||
|
|
if __name__ == "__main__":
|
|||
|
|
clean_interview_questions()
|