跳到内容

builtin-open (PTH123)

派生自 flake8-use-pathlib linter。

作用

检查对 open() 内置函数的使用。

为什么这不好?

pathlib 为路径操作提供了一个高级 API。 如果可能,使用 Path 对象方法(例如 Path.open())可以提高可读性,优于使用 open 内置函数。

示例

with open("f1.py", "wb") as fp:
    ...

建议改为

from pathlib import Path

with Path("f1.py").open("wb") as fp:
    ...

已知问题

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

参考