Reputation: 507
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: '))
Upvotes: 2
Views: 3640
Reputation: 3
This problem also happened to me. I ran the program with the terminal. At the top right corner, there should be a dedicated button that does so.
Upvotes: -1
Reputation: 11
Using the Microsoft Visual Studio Code (and the debug window for code that does not require input), I right-clicked on the code and from the submenu selected the Run Python File in Terminal option. Rather than executing in the Debug tab, it executed in the Terminal tab. I was able to enter an input there and test the input value.
Upvotes: 1
Reputation: 10374
I reproduced the problem you described:
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)
For the code that needs to be entered, we can use "console": "integratedTerminal",
or use "console": "externalTerminal",
Reference: console in VSCode.
Upvotes: 4