Ce face Path.match() și Path.full_match()
match() compară modelul cu sfârșitul căii, componentă cu componentă: Path("a/b/c.py").match("*.py") este adevărat. Dacă modelul este absolut, trebuie să se potrivească toată calea.
full_match() (3.13+) cere potrivirea întregii căi și înțelege ** ca „orice număr de directoare”. Ambele lucrează doar cu textul căii.
Parametri
| Parametru | Descriere |
|---|---|
model |
Modelul glob. |
case_sensitive |
Opțional. Ține cont de majuscule. |
Ce returnează
True sau False.
Exemple
Exemplul 1: Potriviri parțiale și complete
from pathlib import PurePath
p = PurePath("proiect/src/utilitare/text.py")
print(p.match("*.py"), p.match("utilitare/*.py"), p.match("src/*.py"))
print(p.full_match("*.py"), p.full_match("proiect/**/*.py"))
print(PurePath("POZA.JPG").match("*.jpg", case_sensitive=False))
Rezultat
True True False
False True
True
Greșeli frecvente
- Te aștepți ca
match("src/*.py")să accepte fișiere din subdirectoarele luisrc.*înseamnă exact o componentă; foloseștefull_matchcu**.
Comenzi înrudite
Path.iterdir(), glob(), rglob() și walk(): Parcurge conținutul unui director, cu sau fără subdirectoare, eventual filtrat după un model.re.match() și re.fullmatch(): Verifică dacă începutul textului (match) sau tot textul (fullmatch) se potrivește modelului.