objectif
Convertir les objets path-like en str/bytes de manière sûre.
code minimal
import os, pathlib
p = pathlib.Path("x.txt")
print(os.fspath(p).endswith("x.txt")) # attendu: True
utilisation
import os, pathlib
class MyPath:
def __init__(self, path): self._p = pathlib.Path(path)
def __fspath__(self): return str(self._p)
print(os.fspath(MyPath("a/b"))[-3:] == "a/b"[-3:])
variante(s) utile(s)
import os
print(callable(os.fspath))
notes
- Acceptez PathLike dans vos APIs et passez toujours par os.fspath.
- pathlib.Path implémente déjà fspath.