2024-05-23 17:05:58 发布
网友
注意我稍微改变了q,这样它就不再是重复的了。对不起的。在
我正在运行这些耗时的生物信息学脚本。我希望他们做完后按一声哔声。在
我在OSX上
在similar thread中,我发现print '\a'可能会工作,但在Idle中它只打印[]
print '\a'
[]
为什么这在空闲状态下不起作用
它不发出哔声的原因是\a(或^G)是终端铃声代码;由处理stdout的程序将其转换为声音。终端.app将播放一个声音(除非您将其配置为执行“可视铃声”,而不是完全关闭),但Idle不会。当然,如果你跑的时候没有tty,你什么也得不到。在
\a
^G
如果您不介意使用PyObjC(在所有最新版本的OS X上都预装了Apple安装的Pythons):
import Cocoa Cocoa.NSBeep()
当然,这播放的是OSX系统的哔哔声,而不是终端铃声。除了可能是不同的声音之外,这意味着如果禁用终端中的bell,脚本仍将发出哔声。(如果你真的想要一个终端铃声,你可以随时通过脚本编写终端,例如ScriptingBridge。但我觉得你不在乎。)
这个使用afplay的小Python代码片段可以满足我的需要:在程序末尾发出十声响亮的声音:
from os import system for i in range(0,10): system('afplay /System/Library/Sounds/Glass.aiff')
我想导入系统的开销不小,但对我来说是可行的
它不发出哔声的原因是
\a
(或^G
)是终端铃声代码;由处理stdout的程序将其转换为声音。终端.app将播放一个声音(除非您将其配置为执行“可视铃声”,而不是完全关闭),但Idle不会。当然,如果你跑的时候没有tty,你什么也得不到。在如果您不介意使用PyObjC(在所有最新版本的OS X上都预装了Apple安装的Pythons):
当然,这播放的是OSX系统的哔哔声,而不是终端铃声。除了可能是不同的声音之外,这意味着如果禁用终端中的bell,脚本仍将发出哔声。(如果你真的想要一个终端铃声,你可以随时通过脚本编写终端,例如ScriptingBridge。但我觉得你不在乎。)
这个使用afplay的小Python代码片段可以满足我的需要:在程序末尾发出十声响亮的声音:
我想导入系统的开销不小,但对我来说是可行的
相关问题 更多 >
编程相关推荐