Kirk Sluder <[EMAIL PROTECTED]> writes:
> Another common macro use is the "WITH-STREAM" family which opens a
> stream for IO and closes it at the end.
> (with-open-file (file-handle "filename" :direction :output)
> (format file-handle "Hello world.~%")
> )
>
> The pythonic way to do this would be to create a class that
> implements file-like behaviors:
>
> output = fileLike.open()
> output.write("Hello world\n")
> output.close()
Actually the Python example can lose (e.g. leak a file descriptor
temporarily) if output.write raises an exception (prevents
output.close from running). For this reason Python recently
introduced the "with" statement:
with output as fileLike.open():
output.write("Hello world\n")
Here the file gets closed automatically (by running an exit method in
the fileLike class) when the "with" block exits, whether normally or
through an exception.
--
http://mail.python.org/mailman/listinfo/python-list