[Python-de] Befehl ausfuehrbar oder nicht ausfuehrbar? / PC-Speaker
Alexander 'boesi' Bösecke
boesi.josi at gmx.net
Mon Nov 1 15:46:11 CET 2004
moin
Ist es moeglich zu testen, ob ein bestimmter String mit os.system()
ausgefuehrt werden kann, ohne den Befehl auszufuehren?
Konkret geht es mir darum, das ich in meinem Programm gern eine
plattformunabhaengige 'Beep'-Funktion haette.
Mein derzeitiger Versuch sieht so aus:
if sys.platform == 'win32':
# ich kann mich drauf verlassen, dass unter windows win32
# installiert ist, sonst wuerde man natuerlich winsound verwenden
from win32api import Beep
def beep(f=1500, d=50):
Beep(f, d)
# an dieser Stelle soll eigentlich getestet werden ob beep vorhanden ist
elif os.system('beep') == 0:
def beep(f=1500, d=50):
os.system('beep -f %d -l %d' % (f, d))
else:
# das funktioniert leider nicht, wenn stdout umgeleitet wird,
# was bei mir der Fall ist
def beep(f=1500, d=50):
print '\a',
os.system('beep') == 0 ist natuerlich nicht wirklich das was ich will.
Und das Programm beep mit meinem Programm mitzuliefern, so das ich den
Pfad kenn, find ich auch nicht sonderlich sinnvoll.
Hat jemand sonst noch Vorschlaege, wie man den PC-Speaker ansprechen
koennte?
thx & cu boesi
--
Ein sicherer Rechner steht ohne Netz und Strom in #1671 : icq-intern
einem Schweizer Kellersafe, die Schwiegermutter #73628288 : icq-extern
hält mit dem Nudelholz Wache vor der Kellertüre boesi111 : aim
... Und sicher sind die Daten trotzdem nicht ... i171 : reallife