python-3.x - 列表被解释为字符串
问题描述
我收到错误消息:“'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())
解决方案
在您的__init__
构造函数中,您正在设置在构造函数中传递的self.inputliste
变量inputliste
。当创建一个新的类A
对象时,你传入inputfilepath
构造函数,因此inputliste
用 a 覆盖你的变量,str
这就是为什么它抱怨它不能附加到 astr
推荐阅读
- excel - EXCEL 2016 ERROR [42601] "[" 处或附近的语法错误;没有使用该句柄执行查询
- tcl - 如何在画布上将 sqlite3 查询结果打印为矩阵?
- list - Prolog检查列表是否包含偶数个元素
- mysql - 嵌套最小值和最大值的 SQL 查询
- python - 多个QThreads的PyQt确认完成
- php - Magento2 - 新手选择产品
- javascript - Codewars错误上的Javascript Maze Runner
- c++ - CRC 计算 - 逐位 - C++
- mysql - 如何将mysql表数据导出到文件
- javascript - .addEventListener 不起作用,有什么想法吗?