当前位置: 首页 > 面试题库 >

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

胥承
2023-03-14
问题内容

我收到一个错误

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(',')

问题答案:

您的附加代码混合在一起了。该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)


 类似资料:
  • 问题内容: 我有一个文本文件,我们称之为它,我想加载它并创建一个包含文本文件中每一行的列表。 我尝试使用这样的过程: 为什么会出现这些错误?那不是我的用法吗?(我正在使用) 问题答案: 您正在打开文件对象上使用方法。 您可以通过简单地调用文件对象来将文件读取为行列表: 这 确实 包括换行符。您可以剥离列表理解中的那些:

  • 问题内容: 我正在使用python 3.3.3。我正在从tutorialspoint.com做本教程。我无法理解此错误是什么。 这是我的代码: 错误: 问题答案: 您在这里遇到问题有两个原因。第一个是您以只写模式创建的。您需要一个可以读写的文件对象。您还可以使用关键字在完成处理后自动销毁文件对象,而不必担心手动关闭它: 第二个是(就像您非常强烈地指出的错误一样)文件对象(文本文件对象)没有方法。您

  • 问题内容: 为什么被认为是物体?返回列表中的第一项,但我不能追加到列表中的第一项。谢谢。 Edit01: @pyfunc:谢谢您的解释;现在我明白了。 我需要一个清单清单。因此“来自表单”应为列表。我做到了(如果这不是正确的方法,请更正): 问题答案: myList [1]是myList的元素,其类型是字符串。 myList [1]是str,您不能附加它。myList是一个列表,您应该已经附加了它

  • 问题内容: 我想转换火花数据框架以使用以下代码添加: 详细的错误消息是: 有人知道我在这里做错了吗?谢谢! 问题答案: 您无法使用数据框,但可以将数据框转换为RDD并通过映射将其映射。在Spark 2.0之前,别名为。使用Spark 2.0,您必须先明确调用。

  • 问题内容: 我如何解决此错误,我是从GitHub下载此代码的。 引发错误 请帮我解决这个问题! 我用了: 我得到这个错误。有人帮我,我只想让它工作为什么这么难? 问题答案: 我怀疑您从中复制代码的地方启用了急切执行功能,即在程序开始时调用了该位置。 您也可以这样做。希望能有所帮助。 更新:请注意,默认情况下,TensorFlow 2.0中启用了急切执行。因此,以上答案仅适用于TensorFlow

  • 问题内容: 下面的代码给出了错误: 码: 问题答案: 从代码中,我可以看到你希望允许用户下载pdf。 现在开始 去 http://localhost:5000