使用ctrl-z出现EORError

>>>while True:input()
a
'a'
d
'd'
g
'g'

按CTRL-z结束:

>>>while True:input()
^z
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
EOFError

对于控制台而言,ctrl+z代表了EOF(end of file),当input读到单行的EOF时(以下内容来自于官方文档):

input([prompt])

如果存在 prompt 实参,则将其写入标准输出,末尾不带换行符。接下来,该函数从输入中读取一行,将其转换为字符串(除了末尾的换行符)并返回。当读取到 EOF 时,则触发 EOFError。例如:

>> s = input('--> ')  
--> Monty Python's Flying Circus
>> s  
"Monty Python's Flying Circus"

如果加载了 readline 模块,input() 将使用它来提供复杂的行编辑和历史记录功能。

引发一个 审核事件 builtins.input 附带参数 prompt。

在成功读取输入之后引发一个审核事件 builtins.input/result 附带结果。

Ctrl+Z表示终止,显示异常捕获

while True:
    try:
        input()
    except EOFError as err:
        print("End")
        break