提问人:Codeman 提问时间:11/28/2020 更新时间:1/17/2022 访问量:2534
Python 3:读取行时的 EOF (Visual Studio Code)
Python 3: EOF when reading a line (Visual Studio Code)
问:
我使用 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: '))
答:
我重现了您描述的问题:
原因:当我们使用时,结果会输出到“”,而VSCode的这个终端目前只用于显示输出。当需要输入代码但未收到输入时,会抛出“”“(文件末尾)、”文件末尾出现意外错误”。"console": "internalConsole",
DEBUG CONSOLE
EOF
解决方法:请更改调试代码的输出模式。(在文件中)settings.json
参考:VSCode 中的控制台。
使用 Microsoft Visual Studio Code(以及不需要输入的代码的调试窗口),我右键单击代码,然后从子菜单中选择“在终端中运行 Python 文件”选项。它不是在“调试”选项卡中执行,而是在“终端”选项卡中执行。我能够在那里输入输入并测试输入值。
这个问题也发生在我身上。我用终端运行了程序。在右上角,应该有一个专用按钮可以做到这一点。
评论
int(input('Enter a number: '))
这些是普通的单引号字符吗?或者它们是花哨/有角度的报价?