os-path-splitext (PTH122)#
Derived from the flake8-use-pathlib linter.
What it does#
Checks for uses of os.path.splitext.
Why is this bad?#
pathlib offers a high-level API for path manipulation, as compared to
the lower-level API offered by os. When possible, using Path object
methods such as Path.suffix and Path.stem can improve readability over
the os module's counterparts (e.g., os.path.splitext()).
os.path.splitext() specifically returns a tuple of the file root and
extension (e.g., given splitext('/foo/bar.py'), os.path.splitext()
returns ("foo/bar", ".py"). These outputs can be reconstructed through a
combination of Path.suffix (".py"), Path.stem ("bar"), and
Path.parent ("foo").
Note that os functions may be preferable if performance is a concern,
e.g., in hot loops.
Examples#
Use instead: