跳到内容

os-rename (PTH104)

派生自 flake8-use-pathlib linter。

作用

检查 `os.rename` 的使用情况。

为什么这不好?

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

示例

import os

os.rename("old.py", "new.py")

建议改为

from pathlib import Path

Path("old.py").rename("new.py")

已知问题

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

参考