无限循环和用户输入作为终止

我有我的代码,并且确实可以运行到无穷大.我想要的是,如果在unix命令窗口上,如果用户输入了ctrl C,我希望程序完成当前循环,然后退出循环.所以我希望它打破,但我希望它完成当前循环.使用ctrl C可以吗?我应该寻找其他输入吗?

解决方法:

要正确正确地执行此操作有点复杂.

基本上,您想捕获Ctrl-C,设置一个标志,然后继续直到检查该标志的循环的开始(或结束).这可以使用信号模块来完成.幸运的是,已经有人这样做了,您可以在示例linked中使用该代码.

编辑:根据下面的评论,类BreakHandler的典型用法是:

ih = BreakHandler()
ih.enable()
for x in big_set:
    complex_operation_1()
    complex_operation_2()
    complex_operation_3()
    # Check whether there was a break.
    if ih.trapped:
        # Stop the loop.
        break
ih.disable()
# Back to usual operation
上一篇:python切片详解——[a::-1]、 [:b:-1]、 [::-1]的使用


下一篇:JavaScript学习笔记--语法