[Python-Dev] Merging PEP 310 and PEP 340-redux?
Greg Ewing
greg.ewing at canterbury.ac.nz
Fri May 13 07:15:20 CEST 2005
Guido van Rossum wrote:
> - Greg Ewing (I believe) wants 'do' instead of 'with' for the
> keyword. I think I like 'with' better, especially combining it with
> Benji's proposal. IMO this reads better with 'with' than with 'do':
>
> with open("/etc/passwd") as f:
> for line in f:
> ...
I don't think I like the idea of giving the file object
itself __enter__ and __exit__ methods, because it doesn't
ensure that the opening and closing are done as a pair.
It would permit the following kind of mistake:
f = open("somefile")
with f:
do_something()
with f:
do_something_else()
which our proposed construct, if it is any good, should
be able to prevent.
Also I don't at all agree that "with open(...)" reads
better; on the contrary, it seems ungrammatical.
Especially when compared with the very beautiful
"do opening(...)", which I would be disappointed
to give up.
I still also have reservations about "with" on the
grounds that we're making it mean something very
different to what it means in most other languages
that have a "with".
--
Greg Ewing, Computer Science Dept, +--------------------------------------+
University of Canterbury, | A citizen of NewZealandCorp, a |
Christchurch, New Zealand | wholly-owned subsidiary of USA Inc. |
greg.ewing at canterbury.ac.nz +--------------------------------------+
More information about the Python-Dev
mailing list