← retour aux snippets

pathlib: resolve pour normaliser et suivre les symlinks

Normaliser un chemin absolu et résoudre les liens symboliques en toute sécurité.

python filesystem #pathlib#resolve#symlink

objectif

Normaliser un chemin absolu et résoudre les liens symboliques en toute sécurité.

code minimal

from pathlib import Path
p = Path(".").resolve()
print(p.is_absolute())  # attendu: True

utilisation

from pathlib import Path
base = Path(".").resolve()
target = (base / "a" / ".." / "b").resolve()
print(target.is_absolute())

variante(s) utile(s)

from pathlib import Path
p = Path("nonexistent").resolve(strict=False)
print(isinstance(p, Path))

notes

  • resolve() supprime . et .. et suit les symlinks.
  • strict=False évite d’échouer si le chemin n’existe pas encore.