"Marilyn Davis" <[EMAIL PROTECTED]> wrote
happy about letting the os close read only files, its really for
writing
that you want to be explicit.
Alan, will the file close, even if it was opened for writing, when
the
program ends? I know it stays open if you're interactive, but
otherwise
too?
It will if python closes cleanly. If the os, shell or python session
suffer any mishap then the file might not be closed and data may
be lost.
There are other dangers too with not closing writeable files.
If we have a long program we may inadvertantly reuse the
name and open a new file without having closed the old one.
That can result in unpredictable errors. In the worst case it
could lose/overwrite the entire original file. This can, in theory,
affect readable files too but it much less likely.
The best thing nowadays is to use the new with construct
since it guarantees file closure. Or in older versions always
wrap file handling code in a try/fuinally block with the closes
in the finally block.
Alan G.
_______________________________________________
Tutor maillist - Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor