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

VS Code终端按下Ctrl+D未触发EOFError的解决方法咨询

解决Ctrl+D无法触发EOFError的问题

在运行你提供的Python代码时,按下Ctrl+D后终端显示^d,但程序未触发EOFError异常,持续停留在输入循环无法终止,可通过以下方式解决:

适配不同操作系统的终端快捷键

  • Linux/macOS环境:若首次按Ctrl+D无效,需确保光标位于空行的行首(当前输入无未完成内容),连续按两次Ctrl+D即可触发EOF信号。
  • Windows环境(cmd/PowerShell):Ctrl+D不是EOF快捷键,需按下Ctrl+Z后按回车键,才能触发EOFError。

检查终端输入模式

部分终端可能处于特殊输入模式(如raw模式),导致Ctrl+D的信号无法被Python进程正确接收。可尝试重启终端,或切换回默认的canonical模式后再运行程序。

代码优化(可选)

原代码逻辑无错误,但可简化计数逻辑并处理空输入:

groceryList = {}
while True:
    try:
        item = input().strip()
        if not item:
            continue
        # 用get()简化计数逻辑
        groceryList[item] = groceryList.get(item, 0) + 1
    except EOFError:
        for key in groceryList:
            print(key)
        break

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 20:33:12