我收到一个错误
ClassFile.append(filelines) AttributeError: '_io.TextIOWrapper' object has no attribute 'append'
尝试写入文件时。它是关于编写有关学生分数,他们的姓名,姓氏,班级名称的文件(只需输入班级为Class 1),以记录有多少个分数及其分数。仅将其最近的3个分数保存在文件中。我不明白这是什么意思。
Class 1
这是代码
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对象上:
append()
filelines
ClassFile=open(CN+'.txt','r') line=ClassFile.readline() while line!='': filelines.append(line) ClassFile.close()
请注意,我还将close()呼叫 移出 了循环。
close()
您不需要在while那里使用循环;如果要列出所有行,只需执行以下操作:
while
ClassFile=open(CN+'.txt','r') filelines = list(ClassFile) ClassFile.close()
要处理文件关闭,请将文件对象用作上下文管理器:
with open(CN + '.txt', 'r') as openfile: filelines = list(openfile)