列表被解释为字符串

时间:2018-10-24 12:50:26

标签: python-3.x append

我收到错误消息:“'str'对象没有属性'append'”,我不明白为什么,因为我将对象定义为列表,所以错误在哪里?

class A:
    inputliste = []
    inputfilepath = inputfilepath
    def __init__(self,inputfilepath):                       
        self.inputfilepath = inputfilepath   

    def __init__(self,inputliste):
        self.inputliste = inputliste

    def fileopening(self):                                      
        with open(self.inputfilepath,"rb") as inputfile:
            byte = inputfile.read(1)
            while byte:
                self.inputliste.append(byte.hex())
                byte = inputfile.read(1) 

inputfilepath = C:\...
a = A(inputfilepath)
a.fileopening()

该错误是指该行显示的内容: self.inputliste.append(byte.hex())

1 个答案:

答案 0 :(得分:0)

__init__构造函数中,您将变量self.inputliste设置为inputliste,该变量在构造函数中传递。创建新类A对象时,您在构造函数中传递了inputfilepath,因此用inputliste覆盖了str变量,这就是为什么它抱怨不能追加到str