我的代码需要很长时间才能运行,我不想一直盯着它看,但想知道它什么时候完成。
完成后,如何使(Python)代码听起来像是“警报”?我正在考虑让它在到达代码末尾时播放 .wav 文件......
这甚至是一个可行的想法吗?如果是这样,我该怎么做?
import winsound
duration = 1000 # milliseconds
freq = 440 # Hz
winsound.Beep(freq, duration)
其中 freq 是以 Hz 为单位的频率,持续时间以毫秒为单位。
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
import os
os.system('say "your program has finished"')
import os
os.system('spd-say "your program has finished"')
您需要speech-dispatcher
在 Ubuntu 中安装该软件包(或其他发行版上的相应软件包):
sudo apt install speech-dispatcher
print('\007')
在 Linux 上播放铃声。在 Windows 10 上播放错误声音。
这似乎适用于 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 的评论):
ubuntu 语音调度器可用于:
import subprocess
subprocess.call(['speech-dispatcher']) #start speech dispatcher
subprocess.call(['spd-say', '"your process has finished"'])
我假设您想要标准的系统铃声,并且不想关心频率和持续时间等,您只想要标准的 Windows 铃声。
import winsound
winsound.MessageBeep()
为什么要使用 python?您可能会忘记将其删除并将其签入存储库。只需使用 && 运行您的 python 命令,然后运行另一个命令来执行警报。
python myscript.py &&
notify-send 'Alert' 'Your task is complete' &&
paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga
或者将一个函数放到你的 .bashrc 中。我在这里使用 apython 但你可以覆盖 'python'
function apython() {
/usr/bin/python $*
notify-send 'Alert' "python $* is complete"
paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga
}
请参阅:Python Sound ("Bell")
当我想做同样的事情时,这对我很有帮助。
所有学分都归gbc
你有没有尝试过 :
import sys
sys.stdout.write('\a')
sys.stdout.flush()
这在 Mac OS 10.5 上对我有用
实际上,我认为您最初的尝试也可以稍作修改:
print('\a')
(您只需要字符序列周围的单引号)。
可以通过如下代码完成:
import time
time.sleep(10) #Set the time
for x in range(60):
time.sleep(1)
print('\a')
你的问题多一点。
我使用gTTS包从文本中生成音频,然后在学习网页抓取并创建 coursera 下载器(仅限免费课程)时使用Playsound播放该音频。
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"])
我创建了一个 python 模块,用于在代码执行后提醒开发人员使用 Telegram 应用程序。这可能比发出警报声更有帮助。
Pypi 链接: https ://pypi.org/project/devreminder/
Github 链接: https ://github.com/cagataygulten/devreminder
例子:
In [1]>>
from devreminder import DevReminder
import time
In [2]>>
remind = DevReminder(1932126911,False,0)
In [3]>>
remind.me("Example")
time.sleep(6)
输出:
请按照 README 文件获取更多信息。