0

我有一个大致遵循类似这样的尝试语句。

for result in results['matches']:
    try:
        #runs some functions
    except KeyboardInterrupt:
        leaveopt = raw_input( 'Would you like to exit or skip the current match? [e/s]:' )
        if leaveopt == 'e':
            print '\nExiting...'
        else:
            print '\nSkipping match...'

当我运行程序时,我没有收到任何错误,但是当我按下 ctrl-c 时,它只是跳过当前的比赛,而不是询问我想做什么。我想知道是否只有一些内容可以在 try 语句的 except 部分中运行,或者是否还有其他问题。

4

1 回答 1

1

据我所知,你可以做的事情没有限制except(即使你可能想在这里避免一些事情),这对我有用(python 2.7.3 / linux mint):

import time

for x in xrange(5000):
    try:
        print x
        time.sleep(5)
    except KeyboardInterrupt, e:
        leaveopt = raw_input( 
            'Would you like to exit or skip the current match? [e/s]:'
            )
        if leaveopt == 'e':
            print '\nExiting...'
            break
        else:
            print '\nSkipping match...'
            continue

问题显然出在“运行某些功能”部分。

于 2013-06-27T20:13:46.847 回答