当用户在input()中输入Enter时,为什么Python会引发KeyboardInterrupt异常?

时间:2013-11-13 05:05:16

标签: python ios

我对Python很新。我刚刚开始使用PythonforIOS 3.4,并且遇到input()问题。我认为这是IOS实施中的一个错误,但我想确保我理解正确的事情。

如果用户只是按Enter键(空响应),则会引发KeyboardInterrupt异常,而不是简单地返回一个空字符串('')作为我预期的结果。 它是否正确?在Python 2中,raw_input确实返回''我认为。我已经明白在Python 3中输入了raw_input。

1 个答案:

答案 0 :(得分:2)

尝试一些测试:

try:
    s = input('enter string: ')
except KeyboardInterrupt:
    print 'Error raised'

如果出现'Error raised'消息,我确信它会从您的问题中说出来,那么它可能是iOS中的一个错误。据我所知,Python 3中的input函数可以采用空字符串,但我不确定,因为我还没有在Python 3中工作。

我建议现在,在while循环中放置一个try / except案例,以防止出现空白输入,如:

while True:
    try:
        s = input('enter string: ')
        break
    except KeyboardInterrupt:
        continue

并将错误报告给Apple。至于“我已经理解在Python 3输入中替换了raw_input”,那么你是正确的,input()是获取用户输入的唯一标准方法。

此外,人们可以完全帮助您的唯一方法是发布您遇到问题的代码。