如何在Python中捕获EOFError异常?

当内置函数(例如input()raw_input())在遇到输入流的结尾之前未读取任何数据时,将引发EOFError 。诸如file之类的文件方法read()在文件末尾返回一个空字符串。

给定的代码被重写如下,以捕获EOFError并找到其类型。

示例

#eofError.py
try:
while True:
data = raw_input('prompt:')
print 'READ:', data
except EOFError as e:
print e
Then if we run the script at the terminal
$ echo hello | python eofError.py

输出结果

prompt:READ: hello
prompt:EOF when reading a line