Opening files without closing them
3c273
nospam at nospam.com
Tue Mar 7 13:33:25 EST 2006
"Robert Kern" <robert.kern at gmail.com> wrote in message
news:mailman.2794.1141683892.27775.python-list at python.org...
> Paul Rubin wrote:
> > Say that the open is inside the try block. If the file can't be
> > opened, then 'open' raises an exception, 'f' doesn't get set, and then
> > the 'finally' clause tries to close f. f might have been previously
> > bound to some other file (which still has other handles alive) and so
> > the wrong file gets closed.
>
> And even if 'f' wasn't bound to anything, you will get a NameError instead
of
> the exception that you're really interested in seeing.
Thanks to both of you. So in order to be thorough, should I be doing:
try:
f=open('file')
except: IOError:
print 'doesn't exist'
so_something_else_instead()
try:
contents = f.read()
finally:
f.close()
Thanks again.
Louis
More information about the Python-list
mailing list