Hallo. Am Sam, den 04.09.2004 um 14:36 Uhr +0200 schrieb Diez B. Roggisch: [...]
Es wäre wohl am besten, wenn ich die Variabel paths aus deinem Beispiel so benutze, oder?
paths = os.getenv('PATH').split(':')
Somit dürgen Änderungen am Code nicht nötig sein, da es ja, wie es richtig sein sollte, über ${PATH} gesteuert wird, aus welchen Verzeichnissen ein User etwas ausführen darf.
Das ist sicher eine gute Loesung - und ebenfalls eine Liste..... Das Argument bleibt also gueltig.
Der Einsatz von Listen macht den Code wirklich um Einiges kürzer. Die ursprüngliche Datie war 7,8 und die neue nur 2,7 KB groß. Am Anfang des Skriptes lese ich $PATH mit getenv('PATH').split(':') ein. Die gesuchten WMs habe ich in eine Liste gepackt. Und ob die WMs auch existieren, bzw. aufrufbar sind, prüfe ich jetzt so und erzeuge auch gleich die RadioButtons. for wm in wms: rb = wm for path in paths: if access(path+'/'+wm, X_OK): if group: rb = gtk.RadioButton(label = wm, group = group) else: rb = gtk.RadioButton(label = wm) group = rb vbox1.pack_start(rb) rbs.append(rb) break Mein ursprüngliches Problem habe ich dann so gelöst. for rb in rbs: if rb.get_active() == True: wm = rb.get_label() system(wm) break Auch wenn ich ein bissl basteln musste, hab ich es hinbekommen. Würd also sagen, dass ich etwas gelernt habe. Hoffe ich! Nicht, dass ich hier auch wieder Klimmzüge gemacht habe. Zwar funktioniert das Skript noch nicht so, wie ich es mir wünsche. Aber das ist ein Problem mit PyGTK. Vielen Dank für deine Hilfe und deine Geduld mit mir. Gruß Marcus _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de