You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何从标注情绪的文本文件中提取对应悲伤情绪的词汇

问题排查

你的代码存在3个核心错误:

  • 判断逻辑错位:循环遍历每一行时,你判断的是word in file(直接检查整个文件对象是否包含sad字符串),而非检查当前行line是否包含sad标签,同时该操作会移动文件指针,直接导致行遍历失效
  • 提取目标错误:就算匹配成功,你追加到列表的是sad这个标签本身,而非行内对应的情绪词汇
  • 冗余导入:你导入了re模块但全程没有使用,属于无效导入

修正代码

已知emotions.txt每行格式为「词汇: 情绪标签」,修正后代码如下:

sad_words = []
target_tag = "sad"

with open('emotions.txt', 'r', encoding='utf-8') as f:
    for line in f:
        # 去除行首尾空白符,避免空行、空格影响匹配
        line = line.strip()
        if not line:
            continue
        # 按冒号分割词汇和标签
        word, tag = map(str.strip, line.split(':'))
        if tag == target_tag:
            sad_words.append(word)

print(sad_words)

代码逻辑说明

  • 逐行读取文件,先去除每行首尾的空格、换行符,跳过空行
  • 按冒号分割每行内容,分别拿到词汇和对应的情绪标签,同时去除两者前后的多余空格
  • 匹配标签为sad时,将对应的词汇存入结果列表
  • 最终输出所有符合要求的悲伤情绪词汇

内容的提问来源于stack exchange,提问作者Diwakar Puhalendhi HC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 19:54:03