在IPython Notebook中自动播放声音 - python

我经常在IPython笔记本中运行长时间运行的单元。我希望笔记本计算机在单元执行完后自动发出蜂鸣声或播放声音。在iPython笔记本中是否可以执行某些操作,或者可以在可以自动播放声音的单元格的末尾添加一些命令?

如果这有任何区别,我正在使用Chrome。

参考方案

TL; DR

在笔记本顶部

from IPython.display import Audio
sound_file = './sound/beep.wav'

sound_file应该指向您计算机上的文件,或者可以从Internet访问。

然后,在长时间运行的单元结束时

<code that takes a long time>

Audio(sound_file, autoplay=True)

此方法使用iPython / Jupyter较新版本中内置的Audio标签。

旧版本注意

没有音频标签的旧版本可以使用以下方法。

将其放在单元中并运行它,然后再播放声音:

from IPython.display import HTML
from base64 import b64encode

path_to_audio = "/path/to/snd/my-sound.mp3"
audio_type = "mp3"

sound = open(path_to_audio, "rb").read()
sound_encoded = b64encode(sound)
sound_tag = """
    <audio id="beep" controls src="data:audio/{1};base64,{0}">
    </audio>""".format(sound_encoded, audio_type)

play_beep = """
<script type="text/javascript">
    var audio = document.getElementById("beep");
    audio.play();
</script>
"""

HTML(sound_tag)

在单元结束时,您想发出一点声音:

HTML(play_beep)

这个怎么运作:

它使用iPython内置的openread方法从文件系统中读取文件。然后将其编码为base64。然后,它将创建一个ID为beep的音频标签,并将base64数据注入其中。最后的设置过程将创建一个小的脚本标签来播放声音。

在支持HTML5音频标签的任何浏览器中,此方法均应适用。

注意:如果不想在笔记本中显示音频控件,只需从名为controls的变量中删除sound_tag属性

在ipython Notebook中自动向下滚动到结果底部 - python

有没有一种方法可以配置ipython笔记本,以便每当打印长列表时,我都会自动看到底部?例如,在终端中,如果我运行以下命令:for i in range(1000): print i 它会自动滚动到底部:992 993 994 995 996 997 998 999 In [2]: 但是在Python笔记本中,我看到了开始,必须手动向下滚动到最后一个数字。我正…

Python uuid4,如何限制唯一字符的长度 - python

在Python中,我正在使用uuid4()方法创建唯一的字符集。但是我找不到将其限制为10或8个字符的方法。有什么办法吗?uuid4()ffc69c1b-9d87-4c19-8dac-c09ca857e3fc谢谢。 参考方案 尝试:x = uuid4() str(x)[:8] 输出:"ffc69c1b" Is there a way to…

Python-crontab模块 - python

我正在尝试在Linux OS(CentOS 7)上使用Python-crontab模块我的配置文件如下:{ "ossConfigurationData": { "work1": [ { "cronInterval": "0 0 0 1 1 ?", "attribute&…

Python:检查是否存在维基百科文章 - python

我试图弄清楚如何检查Wikipedia文章是否存在。例如,https://en.wikipedia.org/wiki/Food 存在,但是https://en.wikipedia.org/wiki/Fod 不会,页面只是说:“维基百科没有此名称的文章。”谢谢! 参考方案 >>> import urllib >>> prin…

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…