Skip to content

invalid-envvar-default (PLW1508)#

Derived from the Pylint linter.

What it does#

Checks for os.getenv calls with invalid default values.

Why is this bad?#

If an environment variable is set, os.getenv will return its value as a string. If the environment variable is not set, os.getenv will return None, or the default value if one is provided.

If the default value is not a string or None, then it will be inconsistent with the return type of os.getenv, which can lead to confusing behavior.

Example#

import os

int(os.getenv("FOO", 1))

Use instead:

import os

int(os.getenv("FOO", "1"))