when should I explicitly close a file?
Alf P. Steinbach
alfps at start.no
Sat Apr 24 03:30:26 EDT 2010
* Steven D'Aprano:
> On Fri, 23 Apr 2010 13:19:41 +0200, Alf P. Steinbach wrote:
>
>> But for a literal context-free interpretation e.g. the 'sys.getrefcount'
>> function is not documented as CPython only and thus an implementation
>> that didn't do reference counting would not be a conforming Python
>> implementation.
>
> Since Jython and IronPython are conforming Python implementations, and
> Guido has started making policy decisions specifically to support these
> other implementations (e.g. the language feature moratorium, PEP 3003), I
> think we can assume that this is a documentation bug.
The documentation for Jython specifies the same for 'sys.getrefcount'.
However, testing:
<output>
*sys-package-mgr*: processing new jar, 'C:\Program Files\jython2.5.1\jython.jar'
*sys-package-mgr*: processing new jar, 'C:\Program
Files\Java\jre6\lib\resources.jar'
*sys-package-mgr*: processing new jar, 'C:\Program Files\Java\jre6\lib\rt.jar'
*sys-package-mgr*: processing new jar, 'C:\Program Files\Java\jre6\lib\jsse.jar'
*sys-package-mgr*: processing new jar, 'C:\Program Files\Java\jre6\lib\jce.jar'
*sys-package-mgr*: processing new jar, 'C:\Program Files\Java\jre6\lib\charsets.jar'
*sys-package-mgr*: processing new jar, 'C:\Program
Files\Java\jre6\lib\ext\dnsns.jar'
*sys-package-mgr*: processing new jar, 'C:\Program
Files\Java\jre6\lib\ext\localedata.jar'
*sys-package-mgr*: processing new jar, 'C:\Program
Files\Java\jre6\lib\ext\sunjce_provider.jar'
*sys-package-mgr*: processing new jar, 'C:\Program
Files\Java\jre6\lib\ext\sunmscapi.jar'
*sys-package-mgr*: processing new jar, 'C:\Program
Files\Java\jre6\lib\ext\sunpkcs11.jar'
A created
Traceback (most recent call last):
File "c:\test\refcount.py", line 17, in <module>
writeln( str( sys.getrefcount( a ) - 1 ) )
AttributeError: 'systemstate' object has no attribute 'getrefcount'
</output>
> However, a Python implementation that always returned 0 for
> sys.getrefcount would technically satisfy the word of the documentation,
> if not the spirit.
Yes.
OK, learned something new: I though Jython actually implemented getrefcount.
The Jython docs says it does...
Cheers,
- Alf
More information about the Python-list
mailing list