objectif
Lister des fichiers par motif, de façon récursive ou non.
code minimal
from pathlib import Path
from tempfile import TemporaryDirectory
with TemporaryDirectory() as tmp:
root = Path(tmp)
(root / "a.py").write_text("print('a')\n", encoding="utf-8")
(root / "b.txt").write_text("b\n", encoding="utf-8")
(root / "sub").mkdir()
(root / "sub" / "c.py").write_text("print('c')\n", encoding="utf-8")
py_files = sorted(p.name for p in root.rglob("*.py"))
print(py_files == ["a.py","c.py"]) # attendu: True
utilisation
from pathlib import Path
files = [p for p in Path(".").glob("*.md") if p.stat().st_size > 0]
print(isinstance(files, list))
variante(s) utile(s)
from pathlib import Path
py = list(Path(".").rglob("**/*.py")) # globstar aussi accepté
print(isinstance(py, list))
notes
- rglob(“*.ext”) explore récursivement.
- Combinez avec stat() pour filtrer par taille, date, etc.