【发布时间】:2019-01-03 20:28:24
【问题描述】:
我正在尝试向用户显示适合特定模式的文件的文件打开对话框。它们的格式为 prefix_*.suffix,其中星号表示通配符。
这是我假设应该如何使用 TkInter 完成的一个最小示例:
from tkinter.filedialog import askopenfilename
my_dir = 'C:\\path\\to\\some\\directory'
pattern = (('File type', 'prefix_*.suffix'),)
title = 'Title'
my_file = askopenfilename(initialdir=my_dir, filetypes=pattern, title=title)
但是,生成的对话框在我的模式前面添加了一个虚假的通配符,因此它现在看起来像 *prefix_*.suffix。这不是我所期望的。
我做错了吗?我找不到任何关于 TkInter 中的这个接口应该如何工作的像样的文档,所以它可能比我预期的更有限。如果是这样,是否有一个内置的 Python 库可以支持这个特定的用例?
如果它与问题相关,我在 Windows 10 上安装了 32 位 Python。
【问题讨论】:
-
Python 通过在第一种类型的文件中自动包含 * 来做到这一点,当你放一个逗号时,它会使其成为一种新的指定文件类型。
-
@TrooperZ 如果是这样,我应该可以尝试 \\prefix_*.suffix,但这不起作用。它只是删除反斜杠并在前面加上一个星号。这似乎是 TkInter 特有的
标签: python python-3.x user-interface tkinter fileopendialog