为什么调用raw_input会出现EOFError?
我在网上的一个解释器上运行了这段代码:
print "How old are you?",
age = raw_input()
print "How tall are you?",
height = raw_input()
print "How much do you weigh?",
weight = raw_input()
print "So, you're %r old, %r tall and %r heavy." % (
age, height, weight)
我在第二行遇到了一个EOFError
错误。这个错误为什么会出现,我该怎么解决呢?
1 个回答
4
问题在于,在线解释器通常不会暂停让用户输入内容。相反,它们会使用一个固定的“文件”作为 stdin
,从这个文件中读取数据。除非你特别指定,否则这个文件是空的,所以当你请求输入时,就会出现EOF(文件结束),因为这个(空的)文件已经没有内容了。
不过,你是可以指定输入数据的。在ideone上,你需要点击 stdin
按钮,然后一次性输入数据。例如:
old
tall
weight
这样你的脚本 就能运行了。
但你真的应该考虑自己下载Python,然后在命令行中用普通的解释器运行。这样你就能真正体验到交互式的操作了。