我正在尝试将多个文件夹名称添加到选项菜单中。下面的代码只为列表添加了一个文件夹名称,但我想在目录中添加所有文件夹名称。
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")
答案 0 :(得分:3)
您需要构建一个菜单选项列表,然后将其解压缩到您当前传递new
的位置:
options = []
for dirs in all_subdirs:
... # same
options.append(str(current).split("\\")[3])
开箱options
:
opt1 = OptionMenu(app, var, *options)
注意:options
与all_subdirs
相同,因此您的处理似乎无法实现。只需使用all_subdirs
代替。