0

我有一个非常基本的程序,它接受用户输入并将其读回给用户。代码是:

x = input("hello what is your name: ")
print("hello " + x)

这在空闲运行时非常有效,但是在运行时我通过单击文件来运行它以获取命令行类型界面,当我输入输入时,我收到以下错误消息:

    File "C:\Users\ROB\Desktop\test.py", line 1, in (module)
         x = input("hello what is your name: ")
    File "(string)", line 0

      ^
SyntaxError: unexpected EOF while parsing

有人可以解释为什么会发生这种情况并提出一个解决方案,使我能够在命令行中接受用户输入。

4

2 回答 2

2

stdin您正在使用 Python 2,并且正在关闭的地方执行此操作:

>>> x = input("hello what is your name: ")
hello what is your name: 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 0

    ^
SyntaxError: unexpected EOF while parsing

在 Python 2 上,请raw_input()改用它,并在终端或 Windows 控制台中或从 IDLE 中运行它。

于 2013-05-17T20:51:23.493 回答
1

也可以看看

解析时Python意外的EOF

来自 python 文档(http://docs.python.org/2/library/functions.html#input):

input([prompt])
等价于 eval(raw_input(prompt))。
此函数不会捕获用户错误。如果输入在语法上无效,则会引发 SyntaxError。如果评估期间出现错误,可能会引发其他异常。

考虑将raw_input()函数用于用户的一般输入。

于 2013-05-17T20:57:08.380 回答