[Python] Allarme acustico al termine del codice



Answers

Questo sembra funzionare su Windows e Linux * ( da questa domanda ):

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

In Windows, puoi mettere alla fine:

import winsound
winsound.Beep(500,1000)

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

*: per lavorare su Linux, potrebbe essere necessario fare quanto segue (dal commento di QO):

  • in un terminale, digita "cd /etc/modprobe.d", quindi "gksudo gedit blacklist.conf"
  • commentare la riga che dice "lista nera pcspkr", quindi riavviare
  • controlla anche che le preferenze del terminale abbiano la 'Campana Terminale' controllata.
Question

Mi trovo in una situazione in cui il mio codice impiega molto tempo per essere eseguito e non voglio guardarlo fisso tutto il tempo, ma voglio sapere quando è finito.

Come posso rendere il suono (del codice Python) del suono un "allarme" quando è finito? Stavo pensando di farlo riprodurre un file .wav quando raggiunge la fine del codice ...

Questa è anche un'idea fattibile? Se è così, come potrei farlo?




Vedi: Python Sound ("Bell")
Questo mi ha aiutato quando volevo fare lo stesso.
Tutti i crediti vanno a gbc

Citazione:

Hai provato :

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

Questo funziona per me qui su Mac OS 10.5

In realtà, penso che il tuo tentativo originale funzioni anche con una piccola modifica:

print('\a')

(Hai solo bisogno delle virgolette singole attorno alla sequenza di caratteri).




può essere utilizzato il dispatcher di Ubuntu:

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



import subprocess

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



Suppongo che tu voglia la campanella standard del sistema, e non vuoi preoccuparti delle frequenze e delle durate ecc., Vuoi solo il campanello standard di Windows.

import winsound
winsound.MessageBeep()





Links