原始输入多行字符串时python运行时错误

标签 python input

我想读取多行输入。输入格式是第一行包含 int 作为编号。行后跟字符串行。我试过

while True:
    line = (raw_input().strip())
    if not line: break

    elif line.isdigit(): continue

    else:
        print line

它打印字符串行但显示运行时错误消息

Traceback (most recent call last):
  File "prog.py", line 2, in <module>
    line = (raw_input().strip())
EOFError: EOF when reading a line

它是读取输入的正确方法吗?
为什么运行时出错?
我是 python 新手,请帮助我

最佳答案

如果您使用 EOF 终止程序(Ctrl-d 在 Linux 中,Ctrl-z 在 Windows 中),您可能会收到 EOFError。 您可以通过以下方式捕获错误:

while True:
    try:
        line = (raw_input().strip())
    except EOFError:
        break
    if not line: break

关于原始输入多行字符串时python运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14644823/

相关文章:

python - 如何更改 IMEI 号码列表的格式以包含空格?

javascript - 如何从输入表单中获取文本?

python - 使用 ffmpeg 删除视频的多个部分

python - 在Python中,有没有好的 "magic method"来表示对象相似度呢?

python - PyInstaller: IOError: [Errno 2] 没有这样的文件或目录:

python - Komodo IDE 7 在 Ubuntu 11.10 上崩溃

python - 我从哪里获得 Flask 的 SECRET_KEY?

javascript - 如何在 JavaScript 中为 if 语句创建数组或变量?

c - 如何为输入的指针分配内存(在 'C' 中)

javascript - 如果使用 javascript 创建输入类型文本,则无法在 ie 11 中输入! :(