find_filegroups: 查找仅通过文件扩展名不同的文件组

一个函数,用于查找在不同目录中属于同一组的文件(即,仅因文件扩展名不同而不同),并将它们收集到一个Python字典中,以便进行进一步的处理任务。

> 从 mlxtend.file_io 导入 find_filegroups

概述

该函数根据文件名查找相关联的文件。这对于解析存储在不同子目录中的文件集合非常有用,例如:

输入目录/
    task01.txt
    task02.txt
    ...
日志目录/
    task01.log
    task02.log
    ...
输出目录/
    task01.dat
    task02.dat
    ...

参考文献

示例 1 - 在字典中分组相关文件

给定以下目录和文件结构

dir_1/
    file_1.log
    file_2.log
    file_3.log
dir_2/
    file_1.csv
    file_2.csv
    file_3.csv
dir_3/
    file_1.txt
    file_2.txt
    file_3.txt

我们可以使用 find_filegroups 将相关文件作为字典的项进行分组,如下所示:

from mlxtend.file_io import find_filegroups

find_filegroups(paths=['./data_find_filegroups/dir_1', 
                       './data_find_filegroups/dir_2', 
                       './data_find_filegroups/dir_3'], 
                substring='file_')

{'file_1': ['./data_find_filegroups/dir_1/file_1.log',
  './data_find_filegroups/dir_2/file_1.csv',
  './data_find_filegroups/dir_3/file_1.txt'],
 'file_2': ['./data_find_filegroups/dir_1/file_2.log',
  './data_find_filegroups/dir_2/file_2.csv',
  './data_find_filegroups/dir_3/file_2.txt'],
 'file_3': ['./data_find_filegroups/dir_1/file_3.log',
  './data_find_filegroups/dir_2/file_3.csv',
  './data_find_filegroups/dir_3/file_3.txt']}

API

find_filegroups(paths, substring='', extensions=None, validity_check=True, ignore_invisible=True, rstrip='', ignore_substring=None)

Find and collect files from different directories in a python dictionary.

Parameters

Returns

Examples

For usage examples, please see https://rasbt.github.io/mlxtend/user_guide/file_io/find_filegroups/