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

在Python中写入文件时,如何标记用户输入结束?(Windows10+Python3.11)

在Windows Python中用Ctrl+Z触发EOF结束输入的实现

在Windows系统下,Python的input()函数在用户按下Ctrl+Z(之后按回车)时会抛出EOFError异常,你可以通过捕获这个异常来替代用'0'判断输入结束的逻辑。同时推荐使用with语句管理文件,避免手动关闭文件的疏漏。

修改后的代码

# 创建文本文件并写入多行内容
with open("newfile.txt", 'w') as f:
    try:
        while True:
            line = input()
            f.write(line + '\n')
    except EOFError:
        # 捕获EOF异常,结束输入循环
        pass

说明

  • 运行代码后,输入任意内容并按回车确认;需要结束输入时,按下Ctrl+Z再按回车即可触发EOF,程序会自动终止循环并关闭文件。
  • 使用with语句会在代码块结束后自动关闭文件,比手动调用f.close()更可靠,能避免因异常导致文件未关闭的问题。
  • 原代码用'0'作为终止符的逻辑会将'0'也写入文件,而通过EOF触发的方式不会写入额外终止字符,更贴合C语言中Ctrl+Z的使用习惯。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 12:50:19