os-readlink (PTH115)
派生自 flake8-use-pathlib linter。
有时提供修复。
作用
检查对 os.readlink 的使用。
为什么这不好?
与 os 模块提供的底层 API 相比,pathlib 为路径操作提供了更高级的 API。在可能的情况下,使用 Path 对象的方法(例如 Path.readlink())比使用 os 模块的对应函数(例如 os.readlink())更能提高代码的可读性。
示例
建议改为
已知问题
虽然使用 pathlib 可以提高代码的可读性和类型安全性,但与直接使用字符串的较低级替代方案相比,它的性能可能会降低,尤其是在旧版本的 Python 上。
修复安全性
如果替换操作会删除附加在原始表达式上的注释,则此规则的修复程序被标记为不安全。此外,当返回值被使用时,修复程序也会被标记为不安全,因为返回类型会从 str 或 bytes (AnyStr) 变更为 Path 对象。