71 votes

Son Python ("Bell")

J'aimerais avoir un programme en python alertez-moi quand il a terminé sa tâche en faisant un bip de bruit. Actuellement, j'utilise import os , puis utiliser une ligne de commande du programme de la parole-à-dire "le Processus est terminé." J'ai beaucoup plutôt être un simple "bell."

Je sais qu'il y a une fonction qui peut être utilisée dans des applications Cocoa, NSBeep, mais je ne pense pas que beaucoup a rien à voir avec cela.

J'ai aussi essayé de print(\a) mais cela ne fonctionne pas.

Je suis sur un Mac, si vous ne pouvez pas dire par mon Cacao commentaire, afin que peut aider.

Merci!

87voto

gbc Points 4019

As-tu essayé :

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

Cela fonctionne pour moi ici sur Mac OS 10.5

En fait, je pense que votre tentative initiale fonctionne aussi avec une petite modification:

 print('\a')
 

(Vous avez juste besoin de guillemets simples autour de la séquence de caractères).

12voto

Barry Wark Points 73462

Si PyObjC (pont Python - Objective-C) est installé ou s’exécute sur le python système d’OS X 10.5 (livré avec PyObjC), vous pouvez effectuer les tâches suivantes:

 from AppKit import NSBeep
NSBeep()
 

jouer l'alerte système.

8voto

Abhranil Das Points 1993

J'ai essayé le mixeur depuis le module pygame, et ça marche bien. Installez d'abord le module:

 $ sudo apt-get install python-pygame
 

Ensuite, dans le programme, écrivez ceci:

 from pygame import mixer
mixer.init() #you must initialize the mixer
alert=mixer.Sound('bell.wav')
alert.play()
 

Avec pygame, vous disposez de nombreuses options de personnalisation que vous pouvez également expérimenter.

7voto

markpasc Points 775

J'ai dû désactiver le "Silence terminal bell" option dans ma Borne active Profil en iTerm pour print('\a') de travail. Il semblait aller bien par défaut du Terminal.

Vous pouvez également utiliser le module Mac Carbon.Snd à jouer le système de bip:

>>> import Carbon.Snd
>>> Carbon.Snd.SysBeep(1)
>>>

Le Carbone modules n'ont pas de documentation, j'ai donc dû utiliser help(Carbon.Snd) pour voir quelles sont les fonctions disponibles. Il semble être une interface directe sur le Carbone, de sorte que les docs sur l'Apple Developer Connection probablement vous aider.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X