跳到内容

os-replace (PTH105)

派生自 flake8-use-pathlib linter。

作用

检查 os.replace 的使用情况。

为什么这不好?

os 提供的较低级别 API 相比,pathlib 为路径操作提供了一个高级 API。 如果可能,使用 Path 对象方法(例如 Path.replace())可以提高可读性,胜过 os 模块的对应方法(例如,os.replace())。

请注意,如果性能是一个问题,例如在热循环中,那么 os 函数可能更可取。

示例

import os

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

建议改为

from pathlib import Path

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

已知问题

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

参考