iterating through files
clp2 at rebertia.com
Thu Feb 19 23:33:55 CET 2009
On Thu, Feb 19, 2009 at 2:28 PM, Mike Driscoll <kyosohma at gmail.com> wrote:
> On Feb 19, 4:22 pm, Mike Driscoll <kyoso... at gmail.com> wrote:
>> On Feb 19, 3:56 pm, oamram <oam... at gmail.com> wrote:
>> > Hi Pythonist,
>> > new to python. i have a directory with about 50 text file and i need to
>> > iterate through them and get
>> > line 7 to 11 from each file and write those lines into another file(one file
>> > that will contain all lines).
>> > Cheers, Omer.
>> > --
>> > View this message in context:http://www.nabble.com/iterating-through-files-tp22048070p22048070.html
>> > Sent from the Python - python-list mailing list archive at Nabble.com.
>> I would recommend using the glob module to grab a list of the files
>> you want or you can just create your own list. Then use a loop to grab
>> the lines you want. Something like this:
>> f = open(textFile)
>> newFile = open(newFileName, "a")
>> x = 1
>> for line in f.readlines():
>> if x >=7 and x <=11:
>> newFile.write(line + "\n")
>> You could even put the above inside a loop that loops over the list of
>> files. Anyway, that's one approach. I'm sure there are many others.
> Oops...I forgot to iterate the counter. The code should look like
> f = open(textFile)
> newFile = open(newFileName, "a")
> x = 1
> for line in f.readlines():
> if x >=7 and x <=11:
> newFile.write(line + "\n")
> x +=1
Or you could use enumerate(); also, readlines() isn't necessary:
f = open(textFile)
newFile = open(newFileName, "a")
for x, line in enumerate(f):
if x >=7 and x <=11:
newFile.write(line + "\n")
Sounds a bit like homework to me though...
Follow the path of the Iguana...
More information about the Python-list