首页 > 解决方案 > Python 3:读取一行时的 EOF(Visual Studio 代码)

问题描述

我使用 Visual Studio 代码在 Python 中编程,每当我尝试接受用户输入时,Visual Studio Code 都会在该特定行向我抛出“读取一行时的 EOF”。但是,此代码在命令行和 Python IDLE 中完美运行。

旁注:Python 3:读取一行时的 EOF(Sublime Text 2 很生气)可能是一个相关问题,因为我面临的错误似乎非常相似,只是我在 VSC 中收到此错误,而不是 Sublime text 2。

我认为这可能是因为 VSC 没有有效的方法来获取用户输入,欢迎对替代平台进行任何澄清或建议。

细节:

编码语言:Python 3.8

文本编辑器:Visual Studio 代码

导致问题的代码:

number = int(input('Enter a number:    '))
print (number**2)

收到错误:

Exception has occurred: EOFError
EOF when reading a line
  File "<location>", line 1, in <module>
    number = int(input('Enter a number:    '))

标签: pythonpython-3.xvisual-studio-codeeof

解决方案


我重现了你描述的问题:

在此处输入图像描述

原因:我们使用"console": "internalConsole",的时候结果会输出到“ DEBUG CONSOLE”,而VSCode的这个终端目前只用于显示输出。当需要输入代码但没有收到输入时,会抛出" EOF" "(End of file), "There are an unexpected error at the end of the file"。

解决方法:请更改调试代码的输出方式。(在settings.json文件中)

  1. 对于需要输入的代码,我们可以使用"console": "integratedTerminal",

    在此处输入图像描述

  2. 或使用"console": "externalTerminal",

    在此处输入图像描述

参考: VSCode 中的控制台


推荐阅读