首页 > 解决方案 > Python 3 - Tkinter - askopenfilename - 通过正则表达式过滤文件名(不是通过扩展名)

问题描述

当我们使用 tkinter askopenfilename 浏览文件时,是否可以过滤我们看到的文件名?我不需要按扩展名过滤,而是按文件名中的特定模式过滤。

例如,我在一个文件夹中有数百个文件,大多数文件名为“Chapter_XXX - Title”,只有一个文件名为“Book”。我只想显示以 Book 开头的文件。

这样的事情可能吗?

谢谢马丁,那行得通。这些类型的示例应包含在文档中。

我需要的代码:

fileName = filedialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("Books","Book*.*"),("All files","*.*")))

标签: pythontkinter

解决方案


就像扩展名一样,您可以使用filetypes参数定义应包含在文件名中的字符串。

因此,类似于扩展元组('Excel Spreadsheet','.xlsx'),您可以指定获取所有 .xlsx 文件,您可以定义('Book Files','book*.*'). 这将导致字符串"book"出现在文件名中的任何位置的列表。


推荐阅读