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
Schon fast perfekt - statt path + '/' + wm solltest du aber os.path.join verwenden - das ist erstens Plattformunabhaengig (fuer dich vielleicht nicht se wichtig, aber guter Stil schadet nie) und ausserdem sollte das auch mit Sonderfaellen besser klarkommen, zB Pfaden mit / am Ende.
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
Hier bietet sich eher an, stattdessen eine Map von rb auf wm aufzubauen - denn das Label kann ja zb auch mal anders aussehen, zB "KDE" oder so. Dazu musst du nur wms = {} anlegen und nach der Zeile
vbox1.pack_start(rb)
wms[rb] = wm machen. Du kannst dann mit wms[rb] darauf zugreifen in deinem snippet oben. Diez _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de