unspecified-encoding / W1514ΒΆ

Message emitted:

Using open without explicitly specifying an encoding

Description:

It is better to specify an encoding when opening documents. Using the system default implicitly can create problems on other operating systems. See https://peps.python.org/pep-0597/

Problematic code:

def foo(file_path):
    with open(file_path) as file:  # [unspecified-encoding]
        contents = file.read()

Correct code:

def foo(file_path):
    with open(file_path, encoding="utf-8") as file:
        contents = file.read()

Configuration file:

[main]
# PEP 686 makes UTF-8 the default encoding in Python 3.15, so the message
# only applies to code that still supports an earlier version.
py-version=3.14

Created by the stdlib checker.