Ce face os.path.isfile(), isdir(), islink(), ismount(), isjunction(), isdevdrive()
isfile() este adevărat pentru fișiere obișnuite, isdir() pentru directoare; ambele urmăresc legăturile simbolice. islink() verifică dacă însăși calea este o legătură simbolică. ismount() verifică dacă este un punct de montare (de exemplu / sau un disc extern).
isjunction() (3.12+) detectează „junction”-urile din Windows, iar isdevdrive() verifică dacă o cale se află pe un Dev Drive Windows. Pe Linux și macOS ambele returnează False. Toate returnează False pentru căi inexistente, fără eroare.
Parametri
| Parametru | Descriere |
|---|---|
cale |
Calea verificată. |
Ce returnează
True sau False.
Exemple
Exemplul 1: Clasificarea elementelor
import os
os.makedirs("poze", exist_ok=True)
open("nota.txt", "w").close()
os.symlink("nota.txt", "scurtatura")
for cale in ["poze", "nota.txt", "scurtatura", "lipsa"]:
print(f"{cale:11} fișier={os.path.isfile(cale)!s:5} dir={os.path.isdir(cale)!s:5} link={os.path.islink(cale)}")
print(os.path.ismount("/"), os.path.ismount("poze"))
print(os.path.isjunction("poze"), os.path.isdevdrive("poze"))
Rezultat
poze fișier=False dir=True link=False
nota.txt fișier=True dir=False link=False
scurtatura fișier=True dir=False link=True
lipsa fișier=False dir=False link=False
True False
False False
Greșeli frecvente
- Folosești
isfile()pentru a verifica dacă o cale există. Pentru un director returneazăFalse; foloseșteexists().
Comenzi înrudite
os.path.exists() și os.path.lexists(): Verifică dacă un fișier sau director există.Path.exists(), is_file(), is_dir() și celelalte verificări: Verifică dacă o cale există și ce tip de element este.os.scandir() și os.DirEntry: Parcurge un director rapid, cu tipul și informațiile fiecărui element.