changeset: 100605:691fba640266 user: Victor Stinner date: Sat Mar 19 10:33:25 2016 +0100 files: Doc/whatsnew/3.6.rst description: Issue #26567: enhance ResourceWarning example diff -r 543639cdfdb9 -r 691fba640266 Doc/whatsnew/3.6.rst --- a/Doc/whatsnew/3.6.rst Sat Mar 19 10:00:08 2016 +0100 +++ b/Doc/whatsnew/3.6.rst Sat Mar 19 10:33:25 2016 +0100 @@ -272,24 +272,27 @@ Example with the script ``example.py``:: + import warnings + def func(): - f = open(__file__) - f = None + return open(__file__) - func() + f = func() + f = None Output of the command ``python3.6 -Wd -X tracemalloc=5 example.py``:: - example.py:3: ResourceWarning: unclosed file <...> + example.py:7: ResourceWarning: unclosed file <_io.TextIOWrapper name='example.py' mode='r' encoding='UTF-8'> f = None Object allocated at (most recent call first): - File "example.py", lineno 2 - f = open(__file__) - File "example.py", lineno 5 - func() + File "example.py", lineno 4 + return open(__file__) + File "example.py", lineno 6 + f = func() The "Object allocated at" traceback is new and only displayed if -:mod:`tracemalloc` is tracing Python memory allocations. +:mod:`tracemalloc` is tracing Python memory allocations and if the +:mod:`warnings` was already imported. zipfile