Skip to content

LGTM.com - false positive - Use of the return value of a procedure #6827

@DimitriPapadopoulos

Description

@DimitriPapadopoulos

Description of the false positive

This is idiomatic Python and shouldn't raise a warning, even when the result of main is always None.

if __name__ == "__main__":
    sys.exit(main())

See:
https://docs.python.org/fr//3/library/__main__.html#packaging-considerations

Since the call to main is wrapped in sys.exit(), the expectation is that your function will return some value acceptable as an input to sys.exit(); typically, an integer or None (which is implicitly returned if your function does not have a return statement).

By proactively following this convention ourselves, our module will have the same behavior when run directly (i.e. python3 echo.py) as it will have if we later package it as a console script entry-point in a pip-installable package.

URL to the alert on the project page on LGTM.com

https://lgtm.com/projects/g/lamyj/odil/snapshot/00e9ad1ac34f7c310a264e3953e32d24b765cd2f/files/examples/python/convert.py?sort=name&dir=ASC&mode=heatmap#xf881ca92aa273c47:1

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions