python - Python 3 - Tkinter - askopenfilename - 通过正则表达式过滤文件名(不是通过扩展名)
问题描述
当我们使用 tkinter askopenfilename 浏览文件时,是否可以过滤我们看到的文件名?我不需要按扩展名过滤,而是按文件名中的特定模式过滤。
例如,我在一个文件夹中有数百个文件,大多数文件名为“Chapter_XXX - Title”,只有一个文件名为“Book”。我只想显示以 Book 开头的文件。
这样的事情可能吗?
谢谢马丁,那行得通。这些类型的示例应包含在文档中。
我需要的代码:
fileName = filedialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("Books","Book*.*"),("All files","*.*")))
解决方案
就像扩展名一样,您可以使用filetypes
参数定义应包含在文件名中的字符串。
因此,类似于扩展元组('Excel Spreadsheet','.xlsx')
,您可以指定获取所有 .xlsx 文件,您可以定义('Book Files','book*.*')
. 这将导致字符串"book"
出现在文件名中的任何位置的列表。
推荐阅读
- python - 使用元类动态扩展 django 模型
- c++ - 将自签名证书添加到共享对象 C++ 库
- magento - 如何备份带有 Wordpress 前端和 Magento 1.7 后端的网站并能够将其用作本地服务器?
- android - React Native 未找到链接包
- react-native - 是否可以将 React-Native webview 容器附加到背景,使其不会移动?
- android - 无法通过 `api` 方法从 Android 模块解析主题和样式
- bokeh - 通过 Chrome 访问 AWS EMR Dask 集群 Bokeh 仪表板的问题
- php - ' Socket.io 'WebSocket 在连接建立之前关闭。'
- python - 循环Python期间的Iter()
- java - Gradle bintrayUpload 找不到生成的 jar