import pandas as pd import os import difflib #输入文本 input_text = "TypeError: unsupported operand type(s) for ^: 'int' and 'float'" demo_code_folder = './' errorType = pd.read_excel('./错误类型.xlsx') type = [] for i in range(len(errorType)): information = { 'num': int(errorType['number'][i]), 'type': errorType['type'][i], 'context': errorType['context'][i] } type.append(information) # 计算输入文本与预设错误类型文本信息的相似度 best_match = None best_similarity = 0 for info in type: similarity = difflib.SequenceMatcher(None, input_text, info['type']).ratio() if similarity > best_similarity: best_similarity = similarity best_match = info # 输出相似度最高的文本信息及示例代码 if best_match: print(f"存在的错误为:{best_match['context']}") code_file_name = str(best_match['num']) + ".py" code_file_path = os.path.join(demo_code_folder, code_file_name) # 检查示例代码文件是否存在 if os.path.exists(code_file_path): # 读取示例代码内容 with open(code_file_path, "r") as file: code = file.read() print(f"示例代码:\n{code}") else: print("未找到对应的示例代码文件") else: print("未找到相似的错误类型")