Ce face os.path.relpath(), commonpath() și commonprefix()
relpath(cale, start) returnează drumul de la start la cale, folosind .. când trebuie să urci. commonpath(cai) returnează cel mai lung director comun tuturor căilor.
commonprefix() compară textele caracter cu caracter, nu pe componente, deci poate returna o cale invalidă (/home/an din /home/ana și /home/andrei). Pentru căi folosește commonpath().
Parametri
| Parametru | Descriere |
|---|---|
cale, start |
Pentru relpath: ținta și punctul de pornire. |
cai / lista |
Lista de căi sau texte. |
Ce returnează
Un text.
Exemple
Exemplul 1: Căi relative și comune
import os
print(os.path.relpath("/srv/site/static/css/stil.css", "/srv/site"))
print(os.path.relpath("/srv/backup", "/srv/site/static"))
cai = ["/home/ana/poze/2026", "/home/andrei/muzica"]
print(os.path.commonpath(cai))
print(os.path.commonprefix(cai))
print(os.path.commonprefix(["interpretare", "internet", "interval"]))
Rezultat
static/css/stil.css
../../backup
/home
/home/an
inter
Greșeli frecvente
- Folosești
commonprefixpentru directoare și obții o cale care nu există.
Comenzi înrudite
os.path.abspath(), realpath(), normpath(), normcase(): Transformă o cale în cale absolută, rezolvă legăturile simbolice și curăță părțile ca „..”.Path.resolve(), absolute(), relative_to() și verificările de cale: Transformă căile în căi absolute sau relative și le compară.os.path.join(): Unește bucăți de cale cu separatorul corect pentru sistemul de operare.