[Python-checkins] [Python-Dev] r85987 - python/branches/py3k/Lib/test/test_os.py

Hirokazu Yamamoto ocean-city at m2.ccsnet.ne.jp
Thu Nov 4 15:09:39 CET 2010


On 2010/11/02 1:30, Nick Coghlan wrote:
> On Tue, Nov 2, 2010 at 2:10 AM, Hirokazu Yamamoto
> <ocean-city at m2.ccsnet.ne.jp>  wrote:
>> Does this really cause resource warning? I think os.popen instance
>> won't be into traceback because it's not declared as variable. So I
>> suppose it will be deleted by reference count == 0 even when exception
>> occurs.
>
> Any time __del__ has to close the resource triggers ResourceWarning,
> regardless of whether that is due to the cyclic garbage collector or
> the refcount naturally falling to zero. In the past dealing with this
> was clumsy, so it made sense to rely on CPython's refcounting to do
> the work. However, we have better tools for deterministic resource
> management now (in the form of context managers), so these updates
> help make the standard library and its test suite more suitable for
> use with non-refcounting Python implementations (such as PyPy, Jython
> and IronPython).
>
> Cheers,
> Nick.
>

Thank you for reply. Probably this is difficult problem. I often
use with statement, but it's also true sometimes I feel this warning is
a bit noisy. Is there a way to turn this off?

C:\Documents and Settings\Ocean>py3k
Python 3.2a3+ (py3k, Nov  3 2010, 00:27:28) [MSC v.1200 32 bit (Intel)] 
on win32

Type "help", "copyright", "credits" or "license" for more information.
 >>> open("a.py").read()
__main__:1: ResourceWarning: unclosed file <_io.TextIOWrapper 
name='a.py' encodi
ng='cp932'>
'\nimport timeit\n\nt = 
timeit.Timer("""\nos.stat("e:/voltest/lnk")\n""", """\ni
mport os\n""")\n\nprint(t.timeit(1000))\n\n'
[49593 refs]



More information about the Python-checkins mailing list