我的代码需要很长时间才能运行,我不想一直盯着它,但想知道它什么时候完成。

我怎样才能使(Python)代码在完成时发出“警报”?我正在考虑让它在代码结束时播放一个.wav文件……

这个想法可行吗? 如果是,我该怎么做呢?


当前回答

在Windows上

import winsound
duration = 1000  # milliseconds
freq = 440  # Hz
winsound.Beep(freq, duration)

其中,freq是以赫兹为单位的频率,持续时间以毫秒为单位。

Linux和Mac

import os
duration = 1  # seconds
freq = 440  # Hz
os.system('play -nq -t alsa synth {} sine {}'.format(duration, freq))

为了使用这个示例,您必须安装sox。

在Debian / Ubuntu / Linux Mint上,在你的终端上运行这个:

sudo apt install sox

在Mac上,在你的终端上运行这个(使用macports):

sudo port install sox

在Mac上的演讲

import os
os.system('say "your program has finished"')

关于Linux的演讲

import os
os.system('spd-say "your program has finished"')

你需要在Ubuntu中安装speech-dispatcher包(或者在其他发行版中安装相应的包):

sudo apt install speech-dispatcher

其他回答

这个似乎在Windows和Linux上都可以运行*(从这个问题来看):

def beep():
    print("\a")

beep()

在Windows中,可以在末尾放置:

import winsound
winsound.Beep(500, 1000)

where 500 is the frequency in Herz
      1000 is the duration in miliseconds

要在Linux上工作,你可能需要做以下事情(来自QO的评论):

在终端中,输入'cd /etc/modprobe。然后输入gksudo gedit blacklist.conf 注释一行说“黑名单pcspkr”,然后重新启动 还要检查终端首选项是否选中了“终端铃声”。

在Windows上

import winsound
duration = 1000  # milliseconds
freq = 440  # Hz
winsound.Beep(freq, duration)

其中,freq是以赫兹为单位的频率,持续时间以毫秒为单位。

Linux和Mac

import os
duration = 1  # seconds
freq = 440  # Hz
os.system('play -nq -t alsa synth {} sine {}'.format(duration, freq))

为了使用这个示例,您必须安装sox。

在Debian / Ubuntu / Linux Mint上,在你的终端上运行这个:

sudo apt install sox

在Mac上,在你的终端上运行这个(使用macports):

sudo port install sox

在Mac上的演讲

import os
os.system('say "your program has finished"')

关于Linux的演讲

import os
os.system('spd-say "your program has finished"')

你需要在Ubuntu中安装speech-dispatcher包(或者在其他发行版中安装相应的包):

sudo apt install speech-dispatcher

关于你的问题。

我使用gTTS包从文本生成音频,然后使用Playsound播放音频,当我学习web抓取并创建了一个coursera下载器(仅免费课程)。

text2speech = gTTS("Your course " + course_name +
                                " is downloaded to " + downloads + ". Check it fast.")
text2speech.save("temp.mp3")
winsound.Beep(2500, 1000)
playsound("temp.mp3")
import subprocess

subprocess.call(['D:\greensoft\TTPlayer\TTPlayer.exe', "E:\stridevampaclip.mp3"])

Ubuntu语音调度器可以使用:

import subprocess
subprocess.call(['speech-dispatcher'])        #start speech dispatcher
subprocess.call(['spd-say', '"your process has finished"'])