Machine Learning Library Extensions providing essential tools for day-to-day data science tasks
—
File system utilities for finding and organizing files with pattern matching and filtering capabilities.
Utilities for recursively finding files based on various criteria.
def find_files(substring, path, recursive=True, check_ext=None, ignore_invisible=True):
"""
Find files matching specified criteria.
Parameters:
- substring: str, substring that must be in filename
- path: str, directory path to search in
- recursive: bool, search subdirectories recursively
- check_ext: str, file extension to filter by (e.g., '.txt')
- ignore_invisible: bool, ignore hidden files (starting with '.')
Returns:
- matching_files: list, list of file paths matching criteria
"""
def find_filegroups(paths, substring='', extensions=None, ignore_invisible=True):
"""
Group files by specified criteria from multiple paths.
Parameters:
- paths: list, list of directory paths to search
- substring: str, substring filter for filenames
- extensions: list, list of file extensions to include
- ignore_invisible: bool, ignore hidden files
Returns:
- file_groups: dict, dictionary grouping files by criteria
"""from mlxtend.file_io import find_files, find_filegroups
import os
# Find all Python files in current directory
python_files = find_files(
substring='',
path='.',
recursive=True,
check_ext='.py',
ignore_invisible=True
)
print(f"Found {len(python_files)} Python files")
# Find files with specific substring
config_files = find_files(
substring='config',
path='.',
recursive=True,
ignore_invisible=True
)
print(f"Found {len(config_files)} files containing 'config'")
# Group files by extensions
file_groups = find_filegroups(
paths=['.', './docs'],
extensions=['.py', '.md', '.txt'],
ignore_invisible=True
)
print("File groups by extension:")
for ext, files in file_groups.items():
print(f" {ext}: {len(files)} files")Install with Tessl CLI
npx tessl i tessl/pypi-mlxtend