os.path.expanduser() și os.path.expandvars() în Python

Căi (os.path) Python 3.0+

Înlocuiesc ~ cu directorul utilizatorului și $VARIABILA cu valoarea variabilei de mediu.

Sintaxă
os.path.expanduser(cale)
os.path.expandvars(cale)

Ce face os.path.expanduser() și os.path.expandvars()

expanduser("~/documente") înlocuiește ~ cu directorul personal al utilizatorului (de exemplu /home/ana). Python nu face această înlocuire automat la open().

expandvars() înlocuiește $NUME sau ${NUME} (și %NUME% pe Windows) cu valorile variabilelor de mediu. Variabilele inexistente rămân neschimbate.

Parametri

Parametru Descriere
cale Calea cu ~ sau variabile.

Ce returnează

Un text.

Exemple

Exemplul 1: Directorul personal

import os
print(os.path.expanduser("~/documente/cv.pdf"))

Rezultat posibil (diferă la fiecare rulare)

/home/ana/documente/cv.pdf

Exemplul 2: Variabile de mediu

import os
os.environ["PROIECT"] = "/srv/magazin"
print(os.path.expandvars("$PROIECT/static/${PROIECT_NUME}/logo.png"))
os.environ["HOME"] = "/home/ana"
print(os.path.expanduser("~/poze"))

Rezultat

/srv/magazin/static/${PROIECT_NUME}/logo.png
/home/ana/poze

Greșeli frecvente

  • Deschizi direct open("~/note.txt") și primești FileNotFoundError. Aplică întâi expanduser.

Comenzi înrudite