擅长:python、mysql、java
<p>它不发出哔声的原因是<code>\a</code>(或<code>^G</code>)是终端铃声代码;由处理stdout的程序将其转换为声音。终端.app将播放一个声音(除非您将其配置为执行“可视铃声”,而不是完全关闭),但Idle不会。当然,如果你跑的时候没有tty,你什么也得不到。在</p>
<p>如果您不介意使用PyObjC(在所有最新版本的OS X上都预装了Apple安装的Pythons):</p>
<pre><code>import Cocoa
Cocoa.NSBeep()
</code></pre>
<p>当然,这播放的是OSX系统的哔哔声,而不是终端铃声。除了可能是不同的声音之外,这意味着如果禁用终端中的bell,脚本仍将发出哔声。(如果你真的想要一个终端铃声,你可以随时通过脚本编写终端,例如ScriptingBridge。但我觉得你不在乎。)</p>