Python - AttributeError: '_io.TextIOWrapper' object has no attribute 'append'
Python - AttributeError: '_io.TextIOWrapper' object has no attribute 'append'
我收到一条错误消息
ClassFile.append(filelines)
AttributeError: '_io.TextIOWrapper' object has no attribute 'append'
正在尝试写入文件。它是关于写一个关于学生分数的文件,他们的名字,姓氏,class姓名(只需输入 class 作为 Class 1
)一个 scorecount 有多少分数和他们的分数。只有他们的最后 3 个分数要保存在文件中。我不明白这是什么意思。
这是代码
score=3
counter=0
name=input('Name:')
surname=input('Last Name:')
Class=input('Class Name:')
filelines=[]
Class=open(Class+'.txt','r')
line=Class.readline()
while line!='':
Class.append(filelines)
Class.close()
linecount=len(filelines)
for i in range(0,linecount):
data=filelines[i].split(',')
您的追加代码全都搞混了; append()
方法在 filelines
对象上:
ClassFile=open(CN+'.txt','r')
line=ClassFile.readline()
while line!='':
filelines.append(line)
ClassFile.close()
请注意,我还移动了循环的 close()
调用 out。
你不需要在那里使用 while
循环;如果你想要一个包含所有行的列表,你可以简单地做:
ClassFile=open(CN+'.txt','r')
filelines = list(ClassFile)
ClassFile.close()
要处理文件关闭,使用文件对象作为上下文管理器:
with open(CN + '.txt', 'r') as openfile:
filelines = list(openfile)
ClassFile
是类型 _io.TextIOWrapper
的对象,它没有任何属性 append
。您误以为它是 List 类型的对象。它似乎代替 ClassFile.append(filelines) 你想要像 filelines.append(line)
这样的东西。
如果您想将某些内容写入文件,请以写入或追加模式(取决于您的需要)打开它,然后将您想要的字符串写入其中。
我收到一条错误消息
ClassFile.append(filelines)
AttributeError: '_io.TextIOWrapper' object has no attribute 'append'
正在尝试写入文件。它是关于写一个关于学生分数的文件,他们的名字,姓氏,class姓名(只需输入 class 作为 Class 1
)一个 scorecount 有多少分数和他们的分数。只有他们的最后 3 个分数要保存在文件中。我不明白这是什么意思。
这是代码
score=3
counter=0
name=input('Name:')
surname=input('Last Name:')
Class=input('Class Name:')
filelines=[]
Class=open(Class+'.txt','r')
line=Class.readline()
while line!='':
Class.append(filelines)
Class.close()
linecount=len(filelines)
for i in range(0,linecount):
data=filelines[i].split(',')
您的追加代码全都搞混了; append()
方法在 filelines
对象上:
ClassFile=open(CN+'.txt','r')
line=ClassFile.readline()
while line!='':
filelines.append(line)
ClassFile.close()
请注意,我还移动了循环的 close()
调用 out。
你不需要在那里使用 while
循环;如果你想要一个包含所有行的列表,你可以简单地做:
ClassFile=open(CN+'.txt','r')
filelines = list(ClassFile)
ClassFile.close()
要处理文件关闭,使用文件对象作为上下文管理器:
with open(CN + '.txt', 'r') as openfile:
filelines = list(openfile)
ClassFile
是类型 _io.TextIOWrapper
的对象,它没有任何属性 append
。您误以为它是 List 类型的对象。它似乎代替 ClassFile.append(filelines) 你想要像 filelines.append(line)
这样的东西。
如果您想将某些内容写入文件,请以写入或追加模式(取决于您的需要)打开它,然后将您想要的字符串写入其中。