Skip to content

builtin-open (PTH123)

Derived from the flake8-use-pathlib linter.

What it does

Checks for uses of the open builtin.

Why is this bad?

pathlib offers a high-level API for path manipulation. When possible, using Path object methods such as Path.open() can improve readability over the open builtin.

Examples

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

Use instead:

from pathlib import Path

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

References