file pointer array
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Tue Jun 5 00:46:03 EDT 2012
On Mon, 04 Jun 2012 18:21:20 -0700, FSH wrote:
> Hello,
>
> I have a simple question. I wish to generate an array of file pointers.
> For example, I have files:
>
> data1.txt
> data2.txt
> data3.txt
> ....
>
> I wish to generate fine pointer array so that I can read the files at
> the same time.
>
> for index in range(N):
> fid[index] = open('data%d.txt' % index,'r')
See the fileinput module:
http://docs.python.org/library/fileinput.html
If you prefer to manage it yourself, you can do something like this:
fid = [open('data%d.txt' % index, 'r') for index in range(1, N+1)]
# Process the files.
for fp in fid:
print fp.read()
# Don't forget to close them when done.
for fp in fid:
fp.close()
You can let the files be closed by the garbage collector, but there is no
guarantee that this will happen in a timely manner. Best practice is to
close them manually once you are done.
--
Steven
More information about the Python-list
mailing list