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

56 lines
1.7 KiB
Python
Raw Normal View History

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