我在Python中编写一个简单的代码并收到此错误: Traceback(最近一次调用最后一次): 文件“prog.py”,第4行,in EOFError:读取行时的EOF
我的代码是:
inp = [""]
i=0
while i==0:
answer = raw_input("")
if answer!="":
inp.append(answer)
else:
break
for item in inp:
if item=="42":
break
else:
print item
print ""
答案 0 :(得分:1)
您可能会尝试阅读并理解这个答案(以帮助您了解Python知识):
#! /usr/bin/env python
"""Short description what this module does."""
from __future__ import print_function
inp = []
while True:
try:
answer = raw_input("") # in python v3 use input instead
except EOFError as e:
print("Ignored:", e)
answer = None
if answer:
inp.append(answer)
else:
break
for item in inp:
if item == "42":
break
else:
print(item)
print()
这只是尝试更易读的编码风格的第一步。
接下来肯定会在python.org上尝试原始的Python教程......
以上脚本的调用存储在prog.py
:
$> python2 prog.py < /dev/null
使得从/dev/null
读取的程序作为输入不再导致此:
Traceback (most recent call last):
File "prog.py", line 5, in <module>
answer = raw_input("")
EOFError: EOF when reading a line
但是:
Ignored: EOF when reading a line
[]
如果您只想打印出Ignored ...
行,并且知道可以默默忽略,那么您可以将除行/块之外的内容重写为
except EOFError:
answer = None