Open a List of Files

Neil Cerutti mr.cerutti at gmail.com
Tue Jan 8 13:07:15 CET 2008


On Jan 8, 2008 6:54 AM, BJ Swope <bigblueswope at gmail.com> wrote:
> > > given a list such as
> > >
> > > ['messages', 'recipients', 'viruses']
> > >
> > > how would I iterate over the list and use the values as variables and
> > > open the variable names a files?
> > >
> > > I tried
> > >
> > > for outfile in ['messages', 'recipients', 'viruses']:
> > >     filename = os.path.join(Host_Path, outfile)
> > >     outfile = open(filename, 'w')
> > >
> > > But it's not working.
>
> Yep, defining "not working" is always helpful! :)
>
>  I want to have all 3 files open at the same time.  I will write to each of
> the files later in my script but just the last file is open for writing.

Your code successfully opened them all, but kept a reference only to
the last one.

Try something like:

outfiles = [open(os.path.join(Host_Path, fname), 'w') for fname in fnames]

-- 
Neil Cerutti <mr.cerutti+python at gmail.com>



More information about the Python-list mailing list