os-path-splitext (PTH122)
派生自 flake8-use-pathlib linter。
作用
检查 os.path.splitext
的使用情况。
为什么这不好?
与 os.path
提供的较低级别的 API 相比,pathlib
为路径操作提供了一个高级 API。如果可能,使用 Path
对象方法(例如 Path.suffix
和 Path.stem
)可以提高可读性,优于 os.path
模块的对应方法(例如,os.path.splitext()
)。
os.path.splitext()
专门返回文件根和扩展名的元组(例如,给定 splitext('/foo/bar.py')
,os.path.splitext()
返回 ("foo/bar", ".py")
。这些输出可以通过 Path.suffix
(".py"
)、Path.stem
("bar"
) 和 Path.parent
("foo"
) 的组合来重建。
示例
建议改为
已知问题
虽然使用 pathlib
可以提高代码的可读性和类型安全性,但与直接使用字符串的较低级替代方案相比,它的性能可能会降低,尤其是在旧版本的 Python 上。