VIM: EOFError: EOF when reading a line input python

VIM: EOFError: EOF when reading a line input python

我正在尝试向我的 python 代码添加输入

isAge = input("Enter your age: ")

它向我显示了以下错误:

enter your age: Traceback (most recent call last):
File "test2.py", line 3, in <module>
isAge = input("enter your age: ") 
EOFError: EOF when reading a line

我使用“w !python”来 运行 代码。 我试过 w !python 18" 其中 18 是年龄数字,但没有用

如果您使用 Vim 中的 :w !python,它将启动一个 Python 解释器并将脚本通过管道传递给解释器,这意味着 Python 解释器的标准输入将连接到此管道,Vim 将通过该管道将脚本发送给它,而不是控制台。

因此 Python 函数(例如 input() 将无法读取用户的输入,因为解释器没有将其标准输入连接到控制台。

为了解决这个问题,不是让 Vim 将脚本通过管道传递给 Python 解释器,而是让它以脚本作为参数调用 Python 解释器。所以不要使用 :w !python,而是使用:

:w
:!python %

这假定您正在编辑一个文件而不是一个未命名的缓冲区。如果您有未命名的缓冲区,请先将其保存到 *.py