# -*- coding: utf-8 -*- import os # 新增:导入os模块用于文件检查 class DanmakuAnalyzer: def __init__(self, danmu_path="./data/all_danmu.txt"): self.danmu_list = [] # 新增:检查文件是否存在 if not os.path.exists(danmu_path): print(f"错误:弹幕文件 {danmu_path} 不存在") return # 新增:异常处理 try: with open(danmu_path, "r", encoding="utf-8") as f: self.danmu_list = [line.strip() for line in f if line.strip()] except Exception as e: print(f"读取弹幕文件失败:{e}") def analyze(self): """分析用户观点""" if not self.danmu_list: # 新增:检查数据是否有效 print("无有效弹幕数据,无法进行分析") return categories = { "应用领域": ["学习", "办公", "编程", "写作"], "成本": ["免费", "付费", "贵"], "担忧": ["失业", "隐私", "错误"] } counts = {k:0 for k in categories} for danmu in self.danmu_list: for cat, keywords in categories.items(): if any(kw in danmu for kw in keywords): counts[cat] += 1 print("\n用户观点分析:") total = len(self.danmu_list) for cat, cnt in counts.items(): print(f"- {cat}:{cnt}次提及(占比{cnt/total:.1%})") if __name__ == "__main__": analyzer = DanmakuAnalyzer() analyzer.analyze()