os.path.exists() și os.path.lexists() în Python

Căi (os.path) Python 3.0+

Verifică dacă un fișier sau director există.

Sintaxă
os.path.exists(cale)
os.path.lexists(cale)

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