Ich bin Neuling und lerne gerade Python auf Ubuntu und bin stolzer Besitzer eines Tuxedo Notebooks.
Ich habe Python 3.4.3+ auf meinem Rechner und bin gerade dabei ein Morse-Listing zu bearbeiten, welches in einem Lern-Beispiel mit winsound arbeitet, was mir aber nichts nutzt.(Ich lerne Python gerade mit dem BUch "Python für Einsteiger von Thomas Theis.
Nun habe ich bereits im Internet gelesen, dass man mit os.system("beep") Piepsignale aufrufen kann. Ich habe beep bereits installiert, aber leider funktioniert es nicht. Über das Internet habe ich gelesen, dass es vielleicht am BIOS liegen kann (Beep beim Start ein-bzw. ausschalten.)
Aber auch das hat mich nicht weitergebracht.
Vielleicht kann mir jemand helfen, wie ich da jetzt weiterkomme?
Wie kann ich Beep durch Python aufrufen oder an welcher Einstellung und/oder Konfigurationsdatei könnte es vielleicht liegen, dass es bei mir nicht funktioniert?
Danke schon mal für eine Antwort...
[/Codebox]
Code: Alles auswählen
import sys, morsen, time, os
# im Listing: import winsound
# Beispieltext codieren
def tonCode(text,code):
# Zeitschema, Dauer eines Signals in msec.
signalDauer = {".":200, "-":600}
# Zeitschema, Dauer einer Pause in sec.
signalPause = 0.2
zeichenPause = 0.6
wortPause = 1.4
# Text in Worte zerlegen
alleWorte = text.split()
# Jedes Wort im Text
for w in range(len(alleWorte)):
# Übernahme eines Worts
wort = alleWorte[w]
# Jedes Zeichen im Wort
for z in range(len(wort)):
# Übernahme eines Zeichens
zeichen = wort[z]
# Kontrollausgabe des Zeichens
print(zeichen, end="")
# Versuch ein Zeichen auszugeben
try:
# Übernahme des Morsezeichens für das Zeichen
# Falls kein Eintrag im Dictionary: KeyError
alleSignale =code[zeichen]
# Jedes Signal des Morsezeichens
for s in range (len(alleSignale)):
# Übernahme eines Symbols
signal = alleSignale[s]
# Ausgabe des Symbols, kurz oder lang
os.system("beep -f 800 -l signalDauer[signal]")
# original: winsound.Beep(800, signalDauer[signal])
# Nach jedem Signal eine Signalpause
# ausser nach dem letzten Signal
if s < len(alleSignale)-1:
time.sleep(signalPause)
# Nach jedem Zeichen eine Signalpause,
# ausser nach dem letzten Zeichen
if z < len(wort)-1:
time.sleep(zeichenPause)
# Falls kein Eintrag im Dictionary: ignorieren
except KeyError:
pass
# Nach jedem Wort eine Wortpause,
# ausser nach dem letzten Wort
if w < len(alleWorte)-1:
print(" ", end = "")
time.sleep(wortPause)
# Lesefunktion aufrufen
code = morsen.leseCode()
# Schreibfunktion aufrufen
tonCode("Hallo Welt", code)
