Python сценарий в Git Bash игнорирует прерывание клавиатуры Control C при прямом запуске сценария.
Это простой код для тестирования, который называется test_sleep_interrupt.py. Он спит 10 раз по 1 секунде каждый раз. Я наберу Control 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.9. 6