Python 3:读取行时的 EOF (Visual Studio Code)

Python 3: EOF when reading a line (Visual Studio Code)

提问人:Codeman 提问时间:11/28/2020 更新时间:1/17/2022 访问量:2534

问:

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

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

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

详:

编码语言:Python 3.8

文本编辑器:Visual Studio Code

导致问题的代码:

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:    '))
python-3.x visual-studio-code eof

评论

0赞 John Gordon 11/28/2020
int(input('Enter a number: '))这些是普通的单引号字符吗?或者它们是花哨/有角度的报价?
0赞 Codeman 11/28/2020
@JohnGordon 它们是普通的单引号字符,类型为 ''。
0赞 Mark Ransom 11/28/2020
在我看来,您的输入已被重定向,并且不是来自控制台。
0赞 Codeman 11/28/2020
@MarkRansom 你能详细说明一下你的意思吗?所有其他不需要输入的代码在 VSC 中工作正常。

答:

3赞 Jill Cheng 11/30/2020 #1

我重现了您描述的问题:

enter image description here

原因:当我们使用时,结果会输出到“”,而VSCode的这个终端目前只用于显示输出。当需要输入代码但未收到输入时,会抛出“”“(文件末尾)、”文件末尾出现意外错误”。"console": "internalConsole",DEBUG CONSOLEEOF

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

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

    enter image description here

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

    enter image description here

参考:VSCode 中的控制台

1赞 Paul 12/2/2021 #2

使用 Microsoft Visual Studio Code(以及不需要输入的代码的调试窗口),我右键单击代码,然后从子菜单中选择“在终端中运行 Python 文件”选项。它不是在“调试”选项卡中执行,而是在“终端”选项卡中执行。我能够在那里输入输入并测试输入值。

enter image description here

-1赞 user16097267 1/17/2022 #3

这个问题也发生在我身上。我用终端运行了程序。在右上角,应该有一个专用按钮可以做到这一点。

评论

0赞 Kraego 1/17/2022
你好,这不是答案。你应该删除这个...
0赞 joanis 1/20/2022
这并不能真正回答这个问题。如果您有其他问题,可以点击“提问”提问。要在该问题获得新答案时收到通知,您可以关注此问题。一旦你有足够的声誉,你还可以添加赏金来吸引更多人关注这个问题。- 来自评论