根据文件名过滤文件

trminh89

我有一个包含4种不同文件的文件夹。例如:

类型1: 00001_a.png

类型2: 00231_b.mat

类型3: 00001_c.jpg

类型4: 00001_c.png

如何将这些文件过滤为4个列表?我当前的解决方案只能基于文件扩展名进行过滤。

all_file = os.walk(input_path).next()[2] #get files only
list_one = [ fi for fi in all_file if fi.endswith("*.png") ] # "*_a.png" won't work
塔里纳特

只需省略星号(*endswith(),它将按预期运行,例如fi.endswith('_a.png')

建议的更好的解决方案,避免对支持的类型进行硬编码:

from collections import defaultdict

def get_file_type(filename):
    base, ext = os.path.splitext(filename)
    return base.rsplit('_', 1)[1] + ext

files_by_type = defaultdict(list)
for filename in os.listdir(input_path):
    filetype = get_file_type(filename)
    files_by_type[filetype].append(filename)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据文件名过滤器合并 CSV 文件

来自分类Dev

如何根据过滤的内容创建动态目标文件名?

来自分类Dev

过滤并列出特定的文件名

来自分类Dev

根据文件名运行不同的任务

来自分类Dev

根据用户点击更改文件名

来自分类Dev

根据文件名解构目录结构

来自分类Dev

根据文件名合并Grep输出

来自分类Dev

根据文件名创建列

来自分类Dev

根据预定义的文件名过滤打开的对话框

来自分类Dev

如何根据文件名部分过滤MsBuild中的ItemGroup?

来自分类Dev

ls命令的过滤结果,仅根据格式获取某些文件名

来自分类Dev

批处理文件以根据文件名复制文件

来自分类Dev

通过文件名过滤文件选择器

来自分类Dev

根据与单独文件内容匹配的当前文件名更改文件名

来自分类Dev

Python:根据文件大小打印文件名及其目录

来自分类Dev

根据文件名中的时间戳值复制文件

来自分类Dev

根据文件名自动创建文件夹

来自分类Dev

根据python中的文件名对文件进行排序

来自分类Dev

根据文件在R中保存的日期提取文件名

来自分类Dev

根据部分文件名打开多个Excel文件

来自分类Dev

Powershell:如何根据文件名获取文件的位置?

来自分类Dev

如何使用PowerShell根据文件名移动文件?

来自分类Dev

Bash:根据文件名对文件进行排序

来自分类Dev

根据文件名中的特定模式移动文件

来自分类Dev

如何根据文件名查找文件的路径?

来自分类Dev

cp文件并根据旧文件名重命名?

来自分类Dev

根据文件名在python中重命名文件

来自分类Dev

根据文件名从终端删除特定文件

来自分类Dev

根据文件名中的日期复制文件