我正在尝试使用tkinter
filedialog
在Mac中选择文件。
以这种方式使用一种文件类型可以正常工作:
filedialog.askopenfilename(filetypes=[("Excel files", "*.xlsx)])
但是,我想选择xlsx
或xls
个文件。我搜索并找到了一个问题filedialog, tkinter and opening files。我使用类似的方法,但如果我改为这个,它不适用于Mac:
filedialog.askopenfilename(filetypes=[("Excel files", "*.xlsx; *.xls")])
如何更改以在文件对话框中选择xlsx
或xls
文件?
答案 0 :(得分:7)
您似乎必须将通配符模式与空间分开,而不是;
(在Python 3.5.1上验证):
from tkinter import filedialog
filedialog.askopenfilename(filetypes=[("Excel files", "*.xlsx *.xls")])
答案 1 :(得分:0)
至少在Windows上,如果要能够打开多个文件类型,但一次只能打开一个,则代码必须如下所示:
filedialog.askopenfilename(filetypes=[("Excel file","*.xlsx"),("Excel file 97-2003","*.xls")])
如果您希望能够同时选择两种文件类型而不在它们之间进行切换,则它们必须具有相同的名称。
filedialog.askopenfilename(filetypes=[("Excel file","*.xlsx"),("Excel file", "*.xls")])
答案 2 :(得分:0)
Windows 10 上的多个扩展对我来说就像这样。例如搜索python文件。
py_exts = r"*.py *.py3 *.pyc *.pyo *.pyw *.pyx *.pyd *.pxd *.pyi *.pyi *.pyz *.pywz *.rpy *.pyde *.pyp *.pyt *.xpy *.ipynb"
filename = filedialog.askopenfilename(initialdir=SEEN,
title="Select a File",
filetypes=(("video files",
video_exts),
("python files", py_exts),
("all files",
"*.*")))