【问题标题】:Adding Multiple Folder Names From Directory To OptionMenu Python将多个文件夹名称从目录添加到 OptionMenu Python
【发布时间】:2017-08-17 08:54:07
【问题描述】:

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

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

【问题讨论】:

    标签: python tkinter path directory optionmenu


    【解决方案1】:

    你需要建立一个菜单选项列表,然后在你传递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

    【讨论】:

    • 我在这一行 "opt1 = OptionMenu(app, var, *options)" 上遇到 sythax 错误
    • @Peter Wood,数数你的括号,你错过了一个。而options list 与all_subdirs 相同,所以 OP 无需迭代也可以解压它?
    • @Peter Wood,是的,没问题。但是,我认为在您的回答中值得一提的是,all_subdirs 已经是一个带有目录名称的列表,所以根本不需要另一个列表。 opt1 = OptionMenu(app, var, *all_subdirs)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-07
    • 2021-07-24
    • 2019-11-07
    • 2021-08-13
    • 2019-11-13
    • 2013-10-24
    相关资源
    最近更新 更多