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

如何使用PRAW获取特定用户flair的当前使用者?

解决方案

你的代码报错核心原因:subreddit.flair.templates 获取的是社区的flair模板列表,并非已分配给用户的实际flair数据,所以不存在flair['user']字段,自然触发KeyError。

要实现清除所有使用含特定关键词flair的用户的该flair,正确做法是遍历社区内所有已分配flair的用户,筛选出符合条件的对象:

def clearFlairsFromPreviousHolders(subreddit):
    userList = []

    # 遍历所有带有flair的用户条目
    for flair_entry in subreddit.flair(limit=None):
        # flair_entry包含user、flair_text、flair_template_id等字段
        if "Poster for Week" in flair_entry['flair_text']:
            userList.append(flair_entry['user'])

    # 批量清除这些用户的flair
    if userList:
        subreddit.flair.update(userList, text='')

关键说明

  • subreddit.flair(limit=None)会获取社区内所有已设置flair的用户(PRAW会自动处理分页,无需手动实现)
  • 每个flair_entry是字典结构,包含user(用户对象)、flair_text(flair文本)等核心字段
  • 批量更新前判断userList是否为空,避免不必要的API调用

内容的提问来源于stack exchange,提问作者ConfusedCoder

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 19:51:00