Python 3.6-创建用于选择文件夹中文件的下拉列表

Python 3.6-创建用于选择文件夹中文件的下拉列表,python,file,tkinter,operating-system,Python,File,Tkinter,Operating System,简单地说,我希望有一个GUI使用Tkinter打开一个包含30+CSV文件的filder的下拉窗口,这样我就可以选择其中一个文件,并在之后对其执行进一步的操作。 处理顺序-打开目录->创建下拉选择列表->选择文件->Python选择要进一步处理的文件。到目前为止,我一直在尝试混合Tkinter和os的功能,但运气不好 import tkinter as tkr import select import sys import os #Basic idea of code with Os prin

简单地说,我希望有一个GUI使用Tkinter打开一个包含30+CSV文件的filder的下拉窗口,这样我就可以选择其中一个文件,并在之后对其执行进一步的操作。 处理顺序-打开目录->创建下拉选择列表->选择文件->Python选择要进一步处理的文件。到目前为止,我一直在尝试混合Tkinter和os的功能,但运气不好

import tkinter as tkr
import select
import sys
import os
#Basic idea of code with Os

print(' <select name="name">')
os.chdir("C:/Users/name/Desktop/folder")
for files in os.listdir("."):
    if files.endswith(".csv"):
        print('<option value="C:/users/'+files+'">'+files.replace('.csv','')+'</option>')    

#Understanding of Tkinter so far
master = tkr.Tk()
master.geometry("800x1200")
master.title("Select a File")
我知道我需要找到一种方法,将每个CSV文件设置为一个变量,然后为Tkinter分配值,以便识别并形成一个列表,但我不知道如何做到这一点

谢谢。

您可以使用ttk.Combobox作为下拉选择:

import os
import tkinter as tk
from tkinter import ttk

folder = 'C:/Users/name/Desktop/folder'
filelist = [fname for fname in os.listdir(folder) if fname.endswith('.csv')]

master = tk.Tk()
master.geometry('1200x800')
master.title('Select a file')

optmenu = ttk.Combobox(master, values=filelist, state='readonly')
optmenu.pack(fill='x')

master.mainloop()

请仔细阅读,谢谢!这个解决方案给了我一个很好的方向,让我知道如何继续下去。