从目录添加多个文件夹名称到OptionMenu Python

时间:2017-03-24 12:09:01

标签: python tkinter path directory optionmenu

我正在尝试将多个文件夹名称添加到选项菜单中。下面的代码只为列表添加了一个文件夹名称,但我想在目录中添加所有文件夹名称。

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")

1 个答案:

答案 0 :(得分:3)

您需要构建一个菜单选项列表,然后将其解压缩到您当前传递new的位置:

options = []
for dirs in all_subdirs:
    ...  # same
    options.append(str(current).split("\\")[3])

开箱options

opt1 = OptionMenu(app, var, *options)

注意:optionsall_subdirs相同,因此您的处理似乎无法实现。只需使用all_subdirs代替。