【问题标题】:Python 3: EOF when reading a line (Visual Studio Code)Python 3:读取一行时的 EOF(Visual Studio 代码)
【发布时间】:2021-03-10 18:27:29
【问题描述】:

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

旁注:Python 3: EOF when reading a line (Sublime Text 2 is angry) 可能是一个相关问题,因为我面临的错误似乎非常相似,只是我在 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:    '))

【问题讨论】:

  • int(input('Enter a number: ')) 是那些普通的单引号字符吗?还是它们是花哨/有角度的引号?
  • @JohnGordon 它们是纯单引号字符,类型为 ''。
  • 在我看来您的输入已被重定向并且不是来自控制台。
  • @MarkRansom 你能详细说明你的意思吗?所有其他不需要输入的代码在 VSC 中都可以正常工作。

标签: python python-3.x visual-studio-code eof


【解决方案1】:

我重现了你描述的问题:

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

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

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

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

参考:VSCode 中的console

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-14
      • 2014-06-06
      • 1970-01-01
      • 1970-01-01
      • 2013-07-19
      • 1970-01-01
      • 1970-01-01
      • 2016-08-19
      相关资源
      最近更新 更多