Ce face os.path.exists() și os.path.lexists()
exists(cale) returnează True dacă la acea cale există un fișier, un director sau altceva (urmărind legăturile simbolice). Pentru o legătură simbolică „ruptă” (spre un fișier șters), returnează False; lexists() returnează True chiar și atunci, pentru că verifică legătura însăși.
Între verificare și folosirea fișierului, alt program îl poate șterge sau crea. Pentru operații sigure, încearcă direct operația și prinde excepția (FileNotFoundError, FileExistsError).
Parametri
| Parametru | Descriere |
|---|---|
cale |
Calea verificată (text, bytes sau Path). |
Ce returnează
True sau False.
Exemple
Exemplul 1: Fișiere și legături rupte
import os
with open("setari.ini", "w") as f:
f.write("[app]")
print(os.path.exists("setari.ini"), os.path.exists("lipsa.ini"))
os.symlink("sters.txt", "legatura")
print(os.path.exists("legatura"), os.path.lexists("legatura"))
Rezultat
True False
False True
Greșeli frecvente
- Verifici
exists()și apoi creezi fișierul, într-un program cu mai multe procese. Între cele două, alt proces poate crea același fișier; deschide-l direct cu modul'x'.
Comenzi înrudite
os.path.isfile(), isdir(), islink(), ismount(), isjunction(), isdevdrive(): Verifică ce fel de element se află la o cale: fișier, director, legătură simbolică, punct de montare.Path.exists(), is_file(), is_dir() și celelalte verificări: Verifică dacă o cale există și ce tip de element este.open() și with: Deschide un fișier pentru citire sau scriere; cu with, fișierul este închis automat.