While searching through a Python project, I found a few lines commented with
import sys sys.path.append(r'C:\dev') import some_module # noqa
noqa mean in Python? Is it specific to Python only?
# noqa to a line indicates that the linter (a program that automatically checks code quality) should not check this line. Any warnings that code may have generated will be ignored.
That line may have something that “looks bad” to the linter, but the developer understands and intends it to be there for some reason.
For more information, see the Flake8 documentation for Selecting and Ignoring Violations.
noqa = NO-QA (NO Quality Assurance)
It’s generally used in Python code to ignore PEP8 warnings.
#noqa at the end will be ignored by linter programs and won’t raise any warnings.
You know what? Even Guido van Rossum (the creator of Python) asked this question before 😀
It used to be “nopep8” but when Flake8 and Pep8 wanted a common
qualifier @florentx suggested “NoQA” as in “No Quality Assurance”
(iirc) and it stuck.
# flake8: noqa: files that contain this line are skipped
- lines that contain a
# noqacomment at the end: will not issue warnings
# noqa: <error>, e.g.,
# noqa: E234at the end: ignore specific errors on a line
- multiple error codes can be given, separated by comma
- the colon before the list of codes is required