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

通过重复用户输入向现有TXT文件追加内容 实现电话号码列表录入求助

问题根源

  • 逻辑顺序错误:你当前是先把用户输入写入文件,再判断输入是否为空,这就会导致最后用户按回车终止时,空输入也被写入文件,多出不必要的空行。
  • 手动调用close()关闭文件的方式存在风险,如果程序在写入过程中异常退出,文件可能无法正常关闭,导致写入内容丢失。

修复后的代码

# with语句会自动处理文件关闭,无需手动调用close()
with open('telephone.txt', 'a') as nums:
    print('请输入姓名和号码,直接按下回车键结束输入:')
    while True:
        new = input('姓名和号码:')
        # 先校验输入是否为空,加strip()兼容用户不小心输入空格的情况
        if new.strip() == '':
            break
        nums.write(f'\n{new}')

# 读取文件验证写入结果
with open('telephone.txt', 'r') as nums:
    print(nums.read())

可选优化点

  • 如果要避免多次写入后文件开头出现空行,可以在写入前先判断文件是否为空,仅当文件已有内容时才在新条目前加换行符。
  • 可以增加简单的格式校验,过滤不符合「姓名+号码」规则的无效输入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 15:39:04