Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么不是';t打印(\a)在空闲状态下工作_Python_Macos_Beep_Beepbeep - Fatal编程技术网

Python 为什么不是';t打印(\a)在空闲状态下工作

Python 为什么不是';t打印(\a)在空闲状态下工作,python,macos,beep,beepbeep,Python,Macos,Beep,Beepbeep,注意我稍微更改了q,使其不再是重复的。对不起 我正在运行这些耗时的生物信息学脚本。我希望他们完成后能发出嘟嘟声 我在OSX上 在a中,我发现print'\a'可能有效,但在Idle中,它只打印[] 为什么它在空闲状态下不工作?它不发出蜂鸣声的原因是\a(或^G)是终端铃代码;由程序处理stdout将其转换为声音。Terminal.app将播放声音(除非您将其配置为执行“可视铃声”,而不是完全关闭),但Idle不会。当然,如果你在没有tty的情况下跑步,你什么也得不到 如果您不介意使用PyObjC

注意我稍微更改了q,使其不再是重复的。对不起

我正在运行这些耗时的生物信息学脚本。我希望他们完成后能发出嘟嘟声

我在OSX上

在a中,我发现
print'\a'
可能有效,但在Idle中,它只打印
[]


为什么它在空闲状态下不工作?它不发出蜂鸣声的原因是
\a
(或
^G
)是终端铃代码;由程序处理stdout将其转换为声音。Terminal.app将播放声音(除非您将其配置为执行“可视铃声”,而不是完全关闭),但Idle不会。当然,如果你在没有tty的情况下跑步,你什么也得不到

如果您不介意使用PyObjC(在所有最新版本的OS X上都预装了Apple安装的Pythons):


当然,这会播放OSX系统的哔哔声,而不是终端铃声。除了可能是不同的声音外,这意味着如果您禁用终端中的铃声,脚本仍将发出嘟嘟声。(如果你真的想要一个终端铃声,你可以随时通过脚本编写终端,例如ScriptingBridge。但我认为你不在乎。)

这个使用afplay的小Python片段满足了我的需要:在程序结束时发出十声响亮的铃声:

from os import system
for i in range(0,10):
    system('afplay /System/Library/Sounds/Glass.aiff')

我认为导入系统的开销不小,但对我来说很有效。

@TheZ:我认为使用
PyGame
,甚至弹出
afplay
,对于寻找系统蜂鸣声的人来说,可能是杀伤力太大了。@TheZ感谢链接,但如果可以避免的话,我想避免播放声音文件。@abarnert我当时正在离开“我更希望听到比OSX标准更长、更具攻击性的嘟嘟声“听起来需要外部声音的部分。此问题可能重复:。第二个问题行得通吗?谢谢,UV,但我想避免导入模块你有一个生物信息学脚本,可以在不导入任何模块的情况下工作?没有
math
itertools
,甚至没有
sys
?无论如何,
\uuuuuu内置\uuuuuu
命名空间中没有函数会发出蜂鸣声,因此终端铃声是给定该限制的唯一选项,这意味着您必须在
终端.app中运行并保持铃声处于启用状态。
from os import system
for i in range(0,10):
    system('afplay /System/Library/Sounds/Glass.aiff')