Warm tip: This article is reproduced from serverfault.com, please click

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

发布于 2020-11-28 04:18:44

I use visual studio code to program in Python, and whenever I try to take user input, Visual Studio Code throws me an "EOF when reading a line" at that specific line. However, this code works perfectly in command line and Python IDLE.

Side note: Python 3: EOF when reading a line (Sublime Text 2 is angry) is possibly a related question, as the error I am facing seems quite similar, only I am receiving this error in VSC and not Sublime text 2.

I think this might be because VSC has no valid way to take user input, any clarification or suggestion on alternate platforms are welcome.

Details:

Coding language: Python 3.8

Text Editor: Visual Studio Code

Code causing the problem:

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

Error recieved:

Exception has occurred: EOFError
EOF when reading a line
  File "<location>", line 1, in <module>
    number = int(input('Enter a number:    '))
Questioner
Codeman
Viewed
0
Jill Cheng 2020-11-30 13:20:24

I reproduced the problem you described:

enter image description here

Reason: When we use "console": "internalConsole", the result will be output to "DEBUG CONSOLE", and this terminal of VSCode is currently only used for display output. When the code needs to be input but input is not received, it will throw "EOF" "(End of file), "There is an unexpected error at the end of the file".

Solution: please change the output mode of the debugging code. (in settings.json file)

  1. For the code that needs to be entered, we can use "console": "integratedTerminal",

    enter image description here

  2. or use "console": "externalTerminal",

    enter image description here

Reference: console in VSCode.