← retour aux snippets

pathlib: with_suffix/with_name pour renommer proprement

Changer l'extension ou le nom de base sans manipuler des chaînes.

python filesystem #pathlib#rename

objectif

Changer l’extension ou le nom de base sans manipuler des chaînes.

code minimal

from pathlib import Path
p = Path("a.txt").with_suffix(".md")
print(str(p).endswith(".md"))  # attendu: True

utilisation

from pathlib import Path
p = Path("/tmp/a.txt")
print(p.with_name("b.txt").name == "b.txt")

variante(s) utile(s)

from pathlib import PurePath
q = PurePath("dir/file.tar.gz").with_suffix(".zip")
print(str(q).endswith(".zip"))

notes

  • with_suffix remplace la dernière extension seulement.
  • Pour plusieurs extensions, construisez avec stem/suffixes.