跳到内容

os-path-isabs (PTH117)

派生自 flake8-use-pathlib linter。

有时提供修复。

作用

检查对os.path.isabs的使用。

为什么这不好?

os.path提供的底层 API 相比,pathlib 为路径操作提供了一个高级 API。如果可能,使用 Path 对象方法(例如 Path.is_absolute())可以提高可读性,优于 os.path 模块的对应方法(例如 os.path.isabs())。

示例

import os

if os.path.isabs(file_name):
    print("Absolute path!")

建议改为

from pathlib import Path

if Path(file_name).is_absolute():
    print("Absolute path!")

已知问题

虽然使用 pathlib 可以提高代码的可读性和类型安全性,但与直接使用字符串的较低级替代方案相比,它的性能可能会降低,尤其是在旧版本的 Python 上。

参考