Python 尝试导入并捕获键盘中断

Python 尝试导入并捕获键盘中断,python,Python,在我目前正在检查的代码库中,我看到了很多以下模式: try: import moduleA import moduleB from custom.module.A import AX from custom.module.A import AY except KeyboardInterrupt: sys.exit() 我以前没见过。这是为了防止什么?每当您在键盘上按ctrl+C时,就会向python进程发送一个键盘中断。如果未捕获,它将导致代码中出现异常

在我目前正在检查的代码库中,我看到了很多以下模式:

try:
    import moduleA
    import moduleB
    from custom.module.A import AX
    from custom.module.A import AY
except KeyboardInterrupt:
    sys.exit()
我以前没见过。这是为了防止什么?

每当您在键盘上按ctrl+C时,就会向python进程发送一个键盘中断。如果未捕获,它将导致代码中出现异常,从而使代码在当前所在的位置退出。在这种情况下,不需要执行任何特殊操作,只需调用
sys.exit()
,这会再次导致程序退出,但不会显示堆栈回溯

从文件中:

无论何时从键盘按ctrl+C,键盘中断都会发送到python进程。如果未捕获,它将导致代码中出现异常,从而使代码在当前所在的位置退出。在这种情况下,不需要执行任何特殊操作,只需调用
sys.exit()
,这会再次导致程序退出,但不会显示堆栈回溯

从文件中:


我能想到的唯一有意义的方法是,如果一些
模块出于某种原因具有
输入
/
原始输入
,或者出于某种原因故意
提升键盘中断


否则,我真的不太确定这意味着什么。。。(除非一些导入需要几个小时才能运行,如果你厌倦了,可以放弃它而不看到回溯-但这也没有多大意义)

我认为唯一有意义的方法是,如果一些
模块出于某种原因在它们内部运行
输入
/
原始输入
,或者出于某种原因故意提高键盘中断


否则,我真的不太确定这意味着什么。。。(除非某些导入需要几个小时才能运行,如果你厌倦了,你可以放弃它而不看到回溯——但这也没有多大意义)

它没有防范任何东西,至少不明显。它正在捕捉一个:

当用户点击中断键(通常为Control-C或 删除)。在执行过程中,定期检查中断情况。 该异常继承自BaseException,以避免意外发生 被捕获异常从而阻止解释器的代码捕获 从退出


然后简单地退出,这就是中断会做的事情。

它没有防范任何事情,至少不明显。它正在捕捉一个:

当用户点击中断键(通常为Control-C或 删除)。在执行过程中,定期检查中断情况。 该异常继承自BaseException,以避免意外发生 被捕获异常从而阻止解释器的代码捕获 从退出


然后简单地退出,这就是中断将要做的。

应该在问题中说明这一点:我理解什么是异常。我知道通常如何处理
键盘中断。我想知道为什么在这个上下文中,
KeyboardInterrupt
的默认处理被
sys.exit()
所取代。我应该在问题中说明这一点:我理解什么是异常。我知道通常如何处理
键盘中断。我想知道为什么在这种情况下,
KeyboardInterrupt
的默认处理方式会被
sys.exit()
所取代。这就是我想知道的。谢谢这就是我想知道的。谢谢