[Tutor] How to open the closed file again?
Alan Gauld
alan.gauld at btinternet.com
Tue Jan 5 09:46:59 CET 2010
"朱淳" <zhuchunml at gmail.com> wrote
> fileList = []
>
> def openFiles():
> for i in range(0,2):
> fname = "file%s"%i
> f = open(fname,"a")
> fileList.append(f)
>
> def closeFiles():
> for f in fileList:
> f.close()
>
> if __name__=="__main__":
> openFiles()
> print "fileList
> closeFiles()
> print fileList
> openFiles()
> print fileList
>
> I found that after closing files some closed files were left in the
> list:
Yes, because you never remove them they will stay there.
If you want to remove them from the list you need you del() them
as part of your close method.
> After I call openFiles() and closeFiles() many times, the list will
> become fatter and fatter, filled with valueless closed file object. How
> could I open the closed file? I can't find the way in python document.
I don't know of a way to open a closed file object, you might want
to store the filename along with the file. Then if you discover it is
closed you can use the name to reopen it.
--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/
More information about the Tutor
mailing list