Ich versuche, mehrere Ordnernamen zu einem Optionsmenü hinzuzufügen. Der folgende Code fügt der Liste nur einen Ordnernamen hinzu, aber ich möchte alle Ordnernamen in dem Verzeichnis hinzufügen.Hinzufügen von mehreren Ordnernamen aus dem Verzeichnis zu OptionMenu Python
var = StringVar()
os.chdir('C:\\Users\\mhoban')
all_subdirs = [d for d in os.listdir('.') if os.path.isdir(d)]
for dirs in all_subdirs:
dir = os.path.join('C:\\Users\\mhoban', dirs)
os.chdir(dir)
current = os.getcwd()
new = str(current).split("\\")[3]
opt1 = OptionMenu(app, var, new)
opt1.grid(row=0, column=1, padx=10, pady=10)
opt1.configure(width = 40, bg = "White")
Ich bekomme einen sythax Fehler in dieser Zeile "opt1 = OptionMenu (app, var, * Optionen)" –
@Peter Wood, zählen Sie Ihre Klammern, Sie sind vermisst. Und die 'options'-Liste ist die gleiche wie' all_subdirs', also kann OP sie auch ohne Iteration entpacken? – CommonSense
@Peter Wood, ja, kein Problem. Aber noch einmal, ich denke, es lohnt sich, in Ihrer Antwort zu erwähnen, dass "all_subdirs" bereits eine Liste mit dir-Namen ist, so dass es überhaupt keine Notwendigkeit in einer anderen Liste gibt. 'opt1 = OptionMenu (app, var, * all_subdirs)' – CommonSense