基本上,我必须检查特定模式是否出现在一行中。如果是,我必须打印该行,否则不打印。所以这是我的代码:
p = input()
while 1:
line = input()
a=line.find(p)
if a!=-1:
print(line)
if line=='':
break
此代码似乎不错,并被接受为正确答案。但有一个陷阱。我收到运行时错误 EOFError: EOF 在读取代码测试网站忽略的一行时。
我有三个问题:1)为什么它被忽视了? 2)如何删除它? 3)有没有更好的方法来解决问题?
原文由 Jeff 发布,翻译遵循 CC BY-SA 4.0 许可协议
没有什么被忽视的。根据 文档
input
在遇到文件结束条件时引发 EOFError。本质上,input
让您知道我们到这里已经完成,没有更多内容可读。你应该等待这个异常,当你得到它时,只需从你的函数返回或终止程序。