python - Звуковой сигнал при завершении кода




alarm audio (9)

Это можно сделать с помощью кода следующим образом:

import time
time.sleep(10)   #Set the time
for x in range(60):  
    time.sleep(1)
    print('\a')

Я в ситуации, когда мой код занимает очень много времени, и я не хочу смотреть на него все время, но хочу знать, когда это будет сделано.

Как я могу сделать код (Python) вроде звука «сигналом тревоги», когда это будет сделано? Я думал о том, чтобы заставить его играть в WAV-файл, когда он достигнет конца кода ...

Это даже реальная идея? Если да, то как я могу это сделать?


Кажется, что это работает как на 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.d', затем 'gksudo gedit blacklist.conf'
  • прокомментируйте строку с надписью «blacklist pcspkr», затем перезагрузите
  • проверьте также, что в настройках терминала установлен флажок «Terminal Bell».

В Windows

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

Где частота - это частота в Гц, а длительность - в миллисекундах.

В Linux (и Mac)

import os
duration = 1  # second
freq = 440  # Hz
os.system('play --no-show-progress --null --channels 1 synth %s sine %f' % (duration, freq))

Чтобы использовать этот пример, вы должны установить sox .

В Debian / Ubuntu / LinuxMint вам нужно запустить в своем терминале:

sudo apt install sox

Вот способ macports сделать это ... запустить это ваш терминал:

sudo port install sox

Выступление на Mac

И что-то действительно классное, если вы используете Mac в терминале, возможно, можете сделать то же самое в Windows, но я точно знаю только для Mac, это скажет вам, что это сделано:

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

Речь о Linux

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

Вам необходимо установить пакет speech-dispatcher в Ubuntu (или соответствующий пакет в других дистрибутивах):

sudo apt install speech-dispatcher

 print('\007')

играет звук колокола


См .: Python Sound («Колокол»)
Это помогло мне, когда я хотел сделать то же самое.
Все кредиты идут на gbc

Цитата:

Ты пробовал :

import sys
sys.stdout.write('\a')
sys.stdout.flush()

Это работает для меня здесь, на Mac OS 10.5

На самом деле, я думаю, что ваша оригинальная попытка работает также с небольшой модификацией:

print('\a')

(Вам просто нужны одиночные кавычки вокруг последовательности символов).


Я предполагаю, что вы хотите стандартный системный звонок, и не хотите беспокоиться о частотах и ​​продолжительности и т. Д., Вы просто хотите, чтобы стандартный звонок окон.

import winsound
winsound.MessageBeep()

Диспетчер речи ubuntu можно использовать:

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

Зачем использовать 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
}

Просмотрите эссе Питера Норвига о том, чтобы стать мастером-программистом через 10 лет: http://norvig.com/21-days.html . Я бы сказал, что это верно для любого языка.





python alarm audio