“列表”对象没有属性

讨厌的白兔

好吧,我不知道为什么它认为这个函数变量是list. addPoint()编译时,此代码的第41 行(在函数中)出现问题我试过user在它的位置使用全局变量,但它仍然不起作用。我觉得我缺少一些简单的东西,但无法确定。

import praw
import time
import re
import pickle
from classes import User



USERAGENT = 'web:CredibilityBot:v0.1 (by /u/ThePeskyWabbit)'
FOOTER = "^^I ^^am ^^a ^^bot! ^^I ^^am ^^currently ^^in ^^test ^^phase. ^^Read ^^about ^^me ^^[here](https://pastebin.com/jb4kBTcS)."
PATH = "C:\\Users\\JoshLaptop\\PycharmProjects\\practice\\commented.txt"

user = User.User("placeholder")
commentFile = open(PATH, 'rb')
commentList = commentFile.read().splitlines()
commentFile.close()

pkl = open("userpkl.pkl", 'rb')
pklList = []

try:
    while(True):
        pklList.append(pickle.load(pkl))
except EOFError:
    pass
pkl.close()

nameList = []
try:
    for data in pklList:
        user = data
        nameList.append(str(user.getName()))
except:
    pass

print(pklList)
print(nameList)


def addPoint(userInstance, comment):
    userInstance.addScore()
    userInstance.addComment(comment)
    message = "Bullshit noted! " + userInstance.getName() + " now has a Bullshit rating of \n\n" + userInstance.getScore() + FOOTER
    return message

编写该方法的类如下:

import pickle
import praw

class User:
    def __init__(self, username):
        self.name = username
        self.bsRating = 0
        self.bsComments = []

    def getName(self):
        return self.name

    def getScore(self):
        return str(self.bsRating)

    def resetScore(self):
        self.bsRating = 0

    def getComments(self):
        return self.bsComments

    def addComment(self, commentLink):
        self.bsComments.append(commentLink)

    def addScore(self):
        self.bsRating = self.bsRating + 1

我的错误输出是:

  File "C:/Users/JoshLaptop/PycharmProjects/practice/TestBot.py", line 63, in <module>
    actions = {"!bullshit": addPoint(user, commentLink), "!bullshitrating": getRating(user), "!bullshitdetail":getCommentList(user)}
  File "C:/Users/JoshLaptop/PycharmProjects/practice/TestBot.py", line 41, in addPoint
    userInstance.addScore()
AttributeError: 'list' object has no attribute 'addScore'
讨厌的白兔

发现问题。问题出现在这里尝试:

for data in pklList:
    user = data
    nameList.append(str(user.getName()))
except:
    pass

通过删除user = data和重写user.getName()data.getName()问题得到解决。很奇怪

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

“列表”对象没有属性“点击”

Keras AttributeError:“列表”对象没有属性“ ndim”

属性错误:“列表”对象没有属性“分割”

“列表”对象没有属性“形状”

“列表”对象没有属性“值”错误

“列表”对象没有属性“获取”

“列表”对象没有属性“地图”

AttributeError的列表对象有没有属性附加

训练模型失败,因为“列表”对象没有属性“较低”

AttributeError:“列表”对象没有属性“地图”

列表对象没有属性拆分

AttributeError:“列表”对象没有属性“标题”

列表元素“列表”对象没有属性“替换”

“列表”对象没有属性“ foreach”

AttributeError:“列表”对象没有属性“时间”

AttributeError:“列表”对象没有属性“ barh”

AttributeError:“列表”对象没有属性“样本”

AttributeError:“列表”对象没有属性“ read_pickle”

AttributeError:“列表”对象没有属性“替换”

AttributeError:“列表”对象没有属性“对象”

AttributeError:“列表”对象没有属性“复制”

AttributeError:“列表”对象没有属性“文本”

AttributeError:“列表”对象没有属性“ isdigit”

AttributeError:“列表”对象没有属性“负载”

X 路径 Python 错误-“列表”对象没有属性“xpath”

硒:“列表”对象没有属性“文本”

列表对象没有属性“detectedLanguage”

列表'对象没有属性'to_csv

AttributeError:“列表”对象没有属性“分配”