Вы могли бы попытаться прочитать и понять этот ответ (чтобы помочь вам в вашем путешествии к знаниям 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 учебник по python.org ...
Вызов из вышеприведенного сценария, хранящегося в 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
Когда вы получили эту ошибку? Я могу создать его с помощью 'python2 prog.py dev/null' ... когда я ввожу текст и/или пустые строки, он работает как можно догадаться (читая код). Вы хотите защитить от EOFError или хотите понять, почему это происходит? – Dilettant
Как вы запускаете свой скрипт? Есть [довольно много ответов относительно этого] (http://stackoverflow.com/search?q= [python] + raw_input + eoferror) уже здесь, поэтому, возможно, сначала вы должны прочитать некоторые из них. –
Мой код также работает хорошо на компиляторе Codeacdemy.com, но на Ideone.com он дает эту ошибку –