source

코드가 종료되면 경보음이 울립니다.

manysource 2022. 11. 23. 20:22

코드가 종료되면 경보음이 울립니다.

코드를 실행하는 데 시간이 너무 오래 걸리고 항상 쳐다보고 싶지는 않지만 언제 실행되는지 알고 싶습니다.

어떻게 하면 (Python) 코드를 일종의 알람으로 만들 수 있습니까?코드 끝에 도달하면 .wav 파일을 재생하려고 했는데...

이게 실현 가능한 생각일까?그렇다면 어떻게 해야 하죠?

Windows 의 경우

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

여기서 freq는 주파수(Hz)이며 지속 시간은 밀리초입니다.

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에서는 단말기에서 다음을 실행합니다(macport 사용).

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"')

합니다.speech-dispatcher우분투:

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의 코멘트에서) 다음 작업을 수행해야 합니다.

  • 터미널에 'cd /etc/modprobe'를 입력합니다.d'에 이어 'gksudo gedit blacklist.conf'로 이동합니다.
  • 'syslog pcspkr' 행에 주석을 달아 재부팅합니다.
  • 또한 터미널 기본 설정에 '터미널 벨'이 선택되어 있는지 확인합니다.

표준 시스템 벨을 원하시겠지만, 주파수나 지속 시간 등은 신경 쓰지 마시고 표준 윈도우 벨만 원하시면 됩니다.

import winsound
winsound.MessageBeep()

ubuntu 음성 디스패처를 사용할 수 있습니다.

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

OS X Yosemite (10.10.1)에서는 Kuchi의 답변이 통하지 않았습니다.제가 찾은 건afplay명령어(여기), Python에서 호출할 수 있습니다.이것은, 단말기의 가청 벨이 유효하게 되어 있는지, 서드 파티제 라이브러리가 없는지에 관계없이 동작합니다.

import os
os.system('afplay /System/Library/Sounds/Sosumi.aiff')

도대체 왜 비단뱀을 쓰는 거야?삭제 후 저장소로 체크인하지 않을 수 있습니다.python 명령어를 & & 및 다른 명령어로 실행하여 경보를 실행합니다.

python myscript.py && 
    notify-send 'Alert' 'Your task is complete' && 
    paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga

또는 함수를 .droprc에 드롭합니다.여기서 apython을 사용하지만 python을 덮어쓸 수 있습니다.

function apython() {
    /usr/bin/python $*
    notify-send 'Alert' "python $* is complete"
    paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga
}

참조: Python Sound ("벨")
내가 같은 일을 하고 싶을 때 이것이 도움이 되었다.
모든 크레딧이 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 패키지를 사용하여 텍스트에서 오디오를 생성하고 Playsound를 사용하여 해당 오디오를 재생하여 coursera downloader(무료 강좌만)를 만들었습니다.

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

코드 실행 후 텔레그램 어플리케이션에서 개발자에게 상기시켜주는 파이썬 모듈을 만들었습니다.알람을 울리는 것보다 더 도움이 될 수도 있어요.

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 파일을 참조해 주세요.

import subprocess

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

언급URL : https://stackoverflow.com/questions/16573051/sound-alarm-when-code-finishes