带Python的Visual Studio代码问题:第一行EOF错误;在调试控制台中不显示输出

问题描述

我正在使用Python语言。每次我按f5键运行该程序时,它都会在调试控制台中显示“ EOFError:读取行时出现EOF”,并将错误指向第一行。当我尝试在Python IDLE(3.8 64位)中运行同一程序时,它运行完美。当我删除第一行代码时(因为存在错误),该错误是相同的,但现在在新的第一行中。当出现真正的错误(例如语法)时,调试控制台会为我指出该错误。但是,当我修复它时,同样的EOF错误仍然存​​在。

year = int(input ("Enter a year: ")) 
if ((year % 100) == 0 and (year % 400) == 0) or ((year % 100) != 0 and (year % 4) == 0):
  print('In',year,'February has 29 days.') 
else: 
  print('In','February has 28 days.')

以下是代码和错误消息的屏幕截图:https://i.stack.imgur.com/9GKiD.png

解决方法

我将launch.json设置更改为:

{
    "version": "0.2.0","configurations": [
        {
            "name": "Python: Current File","type": "python","request": "launch","program": "${file}",}
    ]
}
,

我复制了您描述的问题,原因是调试代码的输出方式。

当我们使用"console": "internalConsole",时,结果将输出到“ DEBUG CONSOLE”,并且VSCcode的此端子当前仅用于显示输出。当需要输入代码但未收到输入时,它将抛出“ EOF”“(文件末尾),”在文件末尾出现意外错误”。

解决方案是更改调试代码的输出模式。

对于需要输入的代码,我们可以在未设置时使用"console": "integratedTerminal","console": "externalTerminal",,默认情况下VSCode使用"console" : "integratedTerminal"

参考:console in VSCode

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...