Saya berada dalam situasi di mana kode saya membutuhkan waktu sangat lama untuk dijalankan dan saya tidak ingin melihatnya sepanjang waktu tetapi ingin tahu kapan itu selesai.
Bagaimana saya dapat membuat semacam kode (Python) berbunyi "alarm" setelah selesai? Saya sedang mempertimbangkan untuk membuatnya memainkan file .wav ketika mencapai akhir kode ...
Apakah ini ide yang layak? Jika ya, bagaimana saya bisa melakukannya?
Jawaban:
Di Windows
import winsound duration = 1000 # milliseconds freq = 440 # Hz winsound.Beep(freq, duration)
Dimana freq adalah frekuensi dalam Hz dan durasinya dalam milidetik.
Di Linux dan Mac
import os duration = 1 # seconds freq = 440 # Hz os.system('play -nq -t alsa synth {} sine {}'.format(duration, freq))
Untuk menggunakan contoh ini, Anda harus menginstal
sox
.Di Debian / Ubuntu / Linux Mint, jalankan ini di terminal Anda:
Di Mac, jalankan ini di terminal Anda (menggunakan macports):
Ucapkan di Mac
import os os.system('say "your program has finished"')
Pidato di Linux
import os os.system('spd-say "your program has finished"')
Anda perlu menginstal
speech-dispatcher
paket di Ubuntu (atau paket yang sesuai di distribusi lain):sumber
print('\007')
memainkan suara bel
sumber
Yang ini sepertinya berfungsi pada Windows dan Linux * ( dari pertanyaan ini ):
def beep(): print("\a") beep()
Di Windows, bisa diletakkan di bagian akhir:
import winsound winsound.Beep(500, 1000) where 500 is the frequency in Herz 1000 is the duration in miliseconds
Untuk bekerja di Linux, Anda mungkin perlu melakukan hal berikut (dari komentar QO):
sumber
dispatcher ucapan ubuntu dapat digunakan:
import subprocess subprocess.call(['speech-dispatcher']) #start speech dispatcher subprocess.call(['spd-say', '"your process has finished"'])
sumber
-w
argumen untuk menunggu sementara spd-say menyelesaikan frasaJawaban Kuchi tidak berhasil untuk saya di OS X Yosemite (10.10.1). Saya menemukan
afplay
perintah (di sini ), yang bisa Anda panggil dari Python. Ini berfungsi terlepas dari apakah bel bersuara Terminal diaktifkan dan tanpa pustaka pihak ketiga.import os os.system('afplay /System/Library/Sounds/Sosumi.aiff')
sumber
Saya berasumsi Anda menginginkan bel sistem standar, dan tidak ingin menyibukkan diri dengan frekuensi dan durasi, dll., Anda hanya menginginkan bel jendela standar.
import winsound winsound.MessageBeep()
sumber
Lihat: Python Sound ("Bell")
Ini membantu saya ketika saya ingin melakukan hal yang sama.
Semua kredit diberikan ke gbc
Kutipan:
Sudahkah Anda mencoba:
import sys sys.stdout.write('\a') sys.stdout.flush()
Itu berfungsi untuk saya di sini di Mac OS 10.5
Sebenarnya, saya pikir upaya asli Anda juga berfungsi dengan sedikit modifikasi:
print('\a')
(Anda hanya perlu tanda kutip tunggal di sekitar urutan karakter).
sumber
Mengapa menggunakan python? Anda mungkin lupa untuk menghapusnya dan memeriksanya ke dalam repositori. Jalankan saja perintah python Anda dengan && dan perintah lain untuk dijalankan untuk melakukan peringatan.
python myscript.py && notify-send 'Alert' 'Your task is complete' && paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga
atau jatuhkan fungsi ke .bashrc Anda. Saya menggunakan apython di sini tetapi Anda bisa mengganti 'python'
function apython() { /usr/bin/python $* notify-send 'Alert' "python $* is complete" paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga }
sumber
os.system("paplay sound-alarm.oga")
Itu dapat dilakukan dengan kode sebagai berikut:
import time time.sleep(10) #Set the time for x in range(60): time.sleep(1) print('\a')
sumber
import subprocess subprocess.call(['D:\greensoft\TTPlayer\TTPlayer.exe', "E:\stridevampaclip.mp3"])
sumber
Sedikit lagi pertanyaan Anda.
Saya menggunakan paket gTTS untuk menghasilkan audio dari teks dan kemudian memutar audio itu menggunakan Playsound ketika saya belajar webscrapping dan membuat pengunduh coursera (hanya kursus gratis).
text2speech = gTTS("Your course " + course_name + " is downloaded to " + downloads + ". Check it fast.") text2speech.save("temp.mp3") winsound.Beep(2500, 1000) playsound("temp.mp3")
sumber