首页 > 解决方案 > 列表被解释为字符串

问题描述

我收到错误消息:“'str' object has no attribute '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())

标签: python-3.xappend

解决方案


在您的__init__构造函数中,您正在设置在构造函数中传递的self.inputliste变量inputliste。当创建一个新的类A对象时,你传入inputfilepath构造函数,因此inputliste用 a 覆盖你的变量,str这就是为什么它抱怨它不能附加到 astr


推荐阅读