consider-using-with / R1732#
Consider using 'with' for resource-allocating operations
Emitted if a resource-allocating assignment or call may be replaced by a 'with' block. By using 'with' the release of the allocated resources is ensured even in the case of an exception.
with open("foo.txt", "r", encoding="utf8") as file: contents = file.read()
file = open("foo.txt", "r", encoding="utf8") # [consider-using-with] contents = file.read() file.close()
This message applies to callables of Python's stdlib which can be replaced by a
It is suppressed in the following cases:
the call is located inside a context manager
the call result is returned from the enclosing function
the call result is used in a
Created by the refactoring checker.