Python-AttributeError:“ _ io.TextIOWrapper”对象没有属性“ append”

发布于 2021-01-29 14:11:07

我收到一个错误

ClassFile.append(filelines) AttributeError: '_io.TextIOWrapper' object has no attribute 'append'

尝试写入文件时。它是关于编写有关学生分数,他们的姓名,姓氏,班级名称的文件(只需输入班级为Class 1),以记录有多少个分数及其分数。仅将其最近的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(',')
关注者
0
被浏览
101
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您的附加代码混合在一起了。该append()方法在filelines对象上:

    ClassFile=open(CN+'.txt','r')
    line=ClassFile.readline()
    while line!='':
        filelines.append(line)
    ClassFile.close()
    

    请注意,我还将close()呼叫 移出 了循环。

    您不需要在while那里使用循环;如果要列出所有行,只需执行以下操作:

    ClassFile=open(CN+'.txt','r')
    filelines = list(ClassFile)
    ClassFile.close()
    

    要处理文件关闭,请将文件对象用作上下文管理器:

    with open(CN + '.txt', 'r') as openfile:
        filelines = list(openfile)
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看