os.path.relpath(), commonpath() și commonprefix() în Python

Căi (os.path) Python 3.0+ (commonpath: 3.5+)

Calea relativă de la un director la altul și partea comună a mai multor căi.

Sintaxă
os.path.relpath(cale, start=os.curdir)
os.path.commonpath(cai)
os.path.commonprefix(lista)

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 commonprefix pentru directoare și obții o cale care nu există.

Comenzi înrudite