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
。
我正在尝试向我的 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
。