[Tutor] Parsing text file

Alan Gauld alan.gauld at btinternet.com
Mon May 14 01:10:26 CEST 2007


"Alan" <python at wardroper.org> wrote

> I'm looking for a more elegant way to parse sections of text files 
> that
> are bordered by BEGIN/END delimiting phrases, like this:
>
> some text
> BEGIN_INTERESTING_BIT
> someline1
> someline3
> END_INTERESTING_BIT
> more text
>
> What I have been doing is clumsy, involving converting to a string 
> and
> slicing out the required section using split('DELIMITER'):

The method I usually use is only slightly less clunky - or maybe
just as clunky!

I iterate over the lines setting a flag at the start and unsetting
it at the end. Pseudo code:

amInterested = False
for line in textfile:
    if amInterested and not isEndPattern(line):
       storeLine(line)
    amInterested = not isEndPattern(line)
    if line.find(begin_pattern):
       amInterested = True

Whether thats any better than joining/splitting is debateable.
(Obviously you need to write the isEndPattern helper
function too)

Alan G. 




More information about the Tutor mailing list