You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EasyGUI fileopenbox()如何正确配置多文件类型过滤

问题根源

easygui.fileopenbox()的filetypes参数规则为:传入的顶层可迭代对象中,每一个独立元素对应文件选择器下拉栏里的一个单独筛选项。
你当前传入的('*.png', '*.jpg')将png、jpg两个后缀拆成了两个独立的顶层元素,函数会将其识别为两个独立筛选项,因此无法实现多后缀合并筛选的效果。

修复方案

要把同属一类的多个文件后缀归为同一个筛选项,有两种标准写法:

写法1:带自定义筛选名称(推荐)

用子列表/子元组存放单个筛选项的配置:第一个元素为筛选项的显示名称,后续元素为该选项要匹配的所有后缀通配符,示例代码:

import easygui

selected_file = easygui.fileopenbox(
    title='Select image',
    filetypes=[
        ["Image files", "*.png", "*.jpg", "*.jpeg", "*.bmp"],
        ["All files", "*.*"]  # 可按需增加其他筛选项
    ]
)

运行后下拉栏会出现Image files选项,选中时可同时显示所有png、jpg等格式的图片文件。

写法2:无自定义名称的简写形式

如果不需要给筛选项加显示名,可以把同组的多个后缀写在同一个字符串里,后缀之间用分号;分隔,作为顶层元组/列表的单个元素:

selected_file = easygui.fileopenbox(
    title='Select image',
    filetypes=("*.png;*.jpg;*.jpeg;*.bmp", "*.*")
)
注意事项
  • 不要把不同后缀拆成顶层元组/列表的独立元素,否则会生成多个独立筛选项
  • 通配符要严格按照*.后缀的格式书写,不要漏写*
  • 建议始终在筛选列表最后加上*.*的所有文件选项,避免用户找不到非指定后缀的目标文件

内容的提问来源于stack exchange,提问作者user17279264

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 14:48:17