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

Python如何在while循环中实现txt文件的打开与编辑操作

问题根源

  • 缩进错误:if inp == 1 分支完全写在while循环外面,只有输入3退出循环后才会执行判断,循环运行期间不会触发任何选项对应的逻辑
  • 文件指针偏移:你在代码开头已经遍历读取了一次文件内容,文件指针停在文件末尾,后续再读取同一个文件对象不会返回任何内容
  • 输出逻辑错误:直接print(f)打印的是文件对象的内存地址,不是文件的文本内容
while True:
    print("1 - 展示书籍, 2 - 添加书籍, 3 - 退出程序")
    inp = input("请选择操作选项:")
    inp = int(inp)
    if inp == 1:
        with open("Books.txt", "r", encoding="utf-8") as f:
            for line in f:
                print(line.strip())
    elif inp == 2:
        new_book = input("请输入需要添加的书籍名称:")
        with open("Books.txt", "a", encoding="utf-8") as f:
            f.write(new_book + "\n")
    elif inp == 3:
        print("程序已退出")
        break

改动说明

  • 所有选项判断逻辑移到while循环内部,每次用户输入后立即执行对应操作
  • 采用with open语法管理文件资源,无需手动调用close方法,避免资源泄漏
  • 每次触发展示操作时重新打开文件,既解决了文件指针偏移问题,也能保证每次展示的是最新修改后的文件内容
  • 补充了添加书籍的基础实现,可直接使用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 06:36:01