不发出蜂鸣声的原因是\a(或^G)是终端响铃代码;由处理标准输出的程序将其转换为声音。Terminal.app 将播放声音(除非您将其配置为“视觉铃声”,或者完全关闭它),但 Idle 不会。当然,如果您在没有 tty 的情况下运行,您将一无所获。
如果您不介意使用 PyObjC(它在所有最新版本的 OS X 上随 Apple 安装的 Python 一起预装):
import Cocoa
Cocoa.NSBeep()
Run Code Online (Sandbox Code Playgroud)
当然,这会发出 OS X 系统蜂鸣声,而不是终端铃声。除了可能发出不同的声音之外,这意味着如果您在终端中禁用铃声,您的脚本仍然会发出蜂鸣声。(如果您确实想要终端铃声,您可以随时通过 ScriptingBridge 编写终端脚本。但我认为您不在乎。)
| 归档时间: |
|
| 查看次数: |
4757 次 |
| 最近记录: |