【发布时间】:2017-07-30 07:56:36
【问题描述】:
感谢大家看到我的帖子。
首先,以下是我的代码:
import os
print("You can create your own message for alarm.")
user_message = input(">> ")
print("\n<< Sample alarm sound >>")
for time in range(0, 3):
os.system('say ' + user_message) # this code makes sound.
print("\nOkay, The alarm has been set.")
"""
##### My problem is here #####
##### THIS IS NOT STOPPED #####
while True:
try:
os.system('say ' + user_message)
except KeyboardInterrupt:
print("Alarm stopped")
exit(0)
"""
我的问题是 Ctrl + C 不起作用!
我尝试改变try块的位置,并制作信号(SIGINT)捕捉功能。
但那些也行不通。
我已经看到https://stackoverflow.com/a/8335212/5247212、https://stackoverflow.com/a/32923070/5247212,以及其他几个关于这个问题的答案。
我正在使用 MAC OS(10.12.3) 和 python 3.5.2。
【问题讨论】:
-
你见过this question吗?
-
似乎在 Windows 7 和 Ubuntu 14.04 上对我来说工作正常(尽管显然必须用打印替换 MACOS 特定的“say”命令。关键是 ctrl-C 被正确捕获,它打印警报停止并退出。
标签: python python-3.x loops try-catch os.system