You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用文本文件在Python创建列表?遇AttributeError问题求助

问题分析

你的代码里file.readline()只会读取文件的第一行文本,返回的是字符串类型,而字符串没有append()方法,所以调用todos.append(todo)会触发AttributeError。

解决方案

要把文件内容转换成列表,有几种可靠的方式:

方法1:使用readlines()读取所有行

readlines()会读取文件的所有行,返回包含每行内容的列表(注意每行末尾会带换行符\n,可以用strip()清理):

with open('todos.txt', 'r') as file:
    todos = [line.strip() for line in file.readlines()]

用with语句可自动关闭文件,避免手动关文件的疏漏。

方法2:读取全部内容后分割

如果文件里的todo按换行分隔,也可以读取整个文件内容,再按换行符分割成列表:

with open('todos.txt', 'r') as file:
    todos = file.read().splitlines()

splitlines()会自动处理不同系统的换行符(\n/\r\n),且不会保留换行符。

方法3:逐行读取构建列表

适合处理大文件,避免一次性加载全部内容到内存:

todos = []
with open('todos.txt', 'r') as file:
    for line in file:
        todos.append(line.strip())
后续使用

处理完成后todos就是标准列表类型,可正常调用append()、remove()等列表方法:

todo = input("Enter a todo :")
todos.append(todo)

内容的提问来源于stack exchange,提问作者Aniket Bapat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 16:22:00