Git Bash中的Python脚本忽略键盘中断Control C


Git Bash中的Python脚本在直接运行脚本时会忽略键盘中断Control C。

这是一个简单的测试代码,名为testrongleep_interrupt.py。它睡眠10次,每次1秒。我将在两者之间键入控制C。

#!/usr/bin/env python
import time
for i in range(0, 10):
print(f"sleep #{i}")
time.sleep(1)

当我直接运行脚本时,Control C被忽略

$ ./test_sleep_interrupt.py
sleep #0
sleep #1
sleep #2
(hitting Control-C many times, no effect)
sleep #3
sleep #4
sleep #5
sleep #6
sleep #7
sleep #8
sleep #9

当我通过python运行它时,Control-C会立即工作

$ python ./test_sleep_interrupt.py
sleep #0
sleep #1
(typed Control-C)
Traceback (most recent call last):
File "./test_sleep_interrupt.py", line 5, in <module>
time.sleep(1)
KeyboardInterrupt

这里发生了什么?在直接调用脚本时,是否有使Control-C工作的修复程序?

我使用的是Windows 10,Python 3.7.3,Git Bash是mintty-2.96

根据@ConnorLow的建议,我将我的Git for Windows升级到了最新版本2.28.0,其中包括Git Bash mintty 3.2.0。这修复了报告的问题。

相关内容

  • 没有找到相关文章

最新更新