On Dec 10, 11:04 am, "Diez B. Roggisch" <de...@nospam.web.de> wrote:
> Are you sure? For me on python2.5, it works as advertised:
>
> from __future__ import with_statement
>
> def test(outf):
>     with outf:
>         outf.write("test\n")
>     try:
>         outf.write("test\n")
>         assert False, "Not closed"
>     except ValueError:
>         pass
>
> outf = open("/tmp/foo", "w")
> test(outf)
> outf = file("/tmp/bar", "w")
> test(outf)
>
> Which Python do you use?
>
> Diez

Python 2.5, but it could be an artifact of the way I am looking if a
file is closed.
I have subclassed the file builtin, added a .close method and it was
not called by the
"with" statement. This during debugging, but now I have found another
reason to explain why I was
running out of file descriptors, (I was opening too many connections
to the db).
It is entirely possible that the problem was not with the "with"
statement.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to