Tkinter打开文件窗口,文件扩展名区分大小写

时间:2018-06-27 12:27:36

标签: python python-3.x tkinter

我正在为我的一个脚本使用tkinter,但在doSomthing()方法中使用filetypes参数时遇到了麻烦。

askopenfilename()

这工作得很好,但是过滤器区分大小写,有什么办法可以做到? 无论情况如何,我都希望能够看到所有扩展名为INFILE = askopenfilename(filetypes = (("TEST files", "*.test"), ("all files", "*.*"))) 的文件(又名.test

我很确定我不必为每个组合都用硬文字,因此,如果您对如何做到这一点有任何了解

1 个答案:

答案 0 :(得分:1)

没有内置选项可以执行此操作,但是您可以例如将区分大小写的扩展名保存在列表中,然后引用它:

from tkinter import filedialog
from tkinter import *   


text_file_extensions = ['*.txt', '*.txT', '*.tXT',  '*.Txt', '*.TXt', '*.TXT', '*.tXt']
ftypes = [    
    ('test files', text_file_extensions), 
    ('All files', '*'), 
]

root = Tk()
root.filename =  filedialog.askopenfilename(initialdir = "/",title = "Select file",filetypes=ftypes)
print (root.filename)

演示:

enter image description here