find_files: 基于子字符串匹配查找文件
一个根据子字符串匹配在给定目录中查找文件的函数,并返回找到的文件名的列表。
> 从 mlxtend.file_io 导入 find_files
概述
此函数根据子字符串搜索文件。如果我们想在目录树中找到特定的文件并返回它们的绝对路径以便在Python中进一步处理,这尤其有用。
参考文献
- -
示例 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_files
返回所有包含子字符串 _2
的文件路径,如下所示:
from mlxtend.file_io import find_files
find_files(substring='_2', path='./data_find_filegroups/', recursive=True)
['./data_find_filegroups/dir_1/file_2.log',
'./data_find_filegroups/dir_2/file_2.csv',
'./data_find_filegroups/dir_3/file_2.txt']
API
find_files(substring, path, recursive=False, check_ext=None, ignore_invisible=True, ignore_substring=None)
Find files in a directory based on substring matching.
Parameters
-
substring
:str
Substring of the file to be matched.
-
path
:str
Path where to look.
-
recursive
:bool
If true, searches subdirectories recursively.
-
check_ext
:str
If string (e.g., '.txt'), only returns files that match the specified file extension.
-
ignore_invisible
:bool
If
True
, ignores invisible files (i.e., files starting with a period). -
ignore_substring
:str
Ignores files that contain the specified substring.
Returns
-
results
:list
List of the matched files.
Examples
For usage examples, please see https://rasbt.github.io/mlxtend/user_guide/file_io/find_files/