我希望有一个python程序通过发出哔声来完成任务时提醒我.目前,我使用import os
然后使用命令行语音程序来说"处理完成".我更倾向于它是一个简单的"钟声".
我知道有一个可以在Cocoa应用程序中使用的函数NSBeep
,但我认为这与此有很大关系.
我也试过了
print('\a')
但那没用.
我正在使用Mac,如果你不能通过我的Cocoa评论来说明,那么这可能会有所帮助.
你有没有尝试过 :
import sys sys.stdout.write('\a') sys.stdout.flush()
这适用于我在Mac OS 10.5上
实际上,我认为您的原始尝试也可以进行一些修改:
print('\a')
(你只需要围绕字符序列的单引号).
如果你安装了PyObjC(Python-Objective-C桥)或者在OS X 10.5的系统python(随PyObjC一起提供)上运行,你可以做
from AppKit import NSBeep NSBeep()
播放系统警报.
我从pygame模块尝试了混音器,它工作正常.首先安装模块:
$ sudo apt-get install python-pygame
然后在程序中写下这个:
from pygame import mixer mixer.init() #you must initialize the mixer alert=mixer.Sound('bell.wav') alert.play()
有了pygame,你有很多自定义选项,你可以另外试验.
我不得不在iTerm的活动终端配置文件中关闭"Silence terminal bell"选项print('\a')
才能工作.它在Terminal中默认工作正常.
您也可以使用Mac模块Carbon.Snd
播放系统蜂鸣声:
>>> import Carbon.Snd >>> Carbon.Snd.SysBeep(1) >>>
Carbon模块没有任何文档,因此我必须使用它help(Carbon.Snd)
来查看可用的功能.它似乎是Carbon的直接接口,因此Apple Developer Connection上的文档可能会有所帮助.