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

Python待办程序报错:append方法因数据类型不匹配无法执行

问题解决:待办清单append数据类型不匹配错误

你的错误根源在于:file.readline()返回的是单个字符串(文件的第一行内容),而append()是Python列表的专属方法,字符串没有这个方法,所以触发了数据类型不匹配的错误。

要实现追加待办项的功能,你需要把文件内容读取为列表,修改后再写入文件,修正后的代码如下:

match user_action:
    case "add":
        todo = input("Enter a todo: ") + "\n"

        # 用with语句自动管理文件,无需手动close
        with open('todos.txt', 'r') as file:
            # readlines()读取所有行,返回每行内容组成的列表
            todos = file.readlines()
        
        # 向列表追加新待办项
        todos.append(todo)

        with open('todos.txt', 'w') as file:
            file.writelines(todos)

补充两个实用细节:

  • 如果todos.txt是新建的空文件,readlines()会返回空列表,append()操作依然能正常执行,无需额外处理空文件的情况。
  • 使用with语句是Python操作文件的最佳实践,它会在代码块结束后自动关闭文件,避免出现资源泄漏的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 04:58:09