> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:python-
> [EMAIL PROTECTED] On Behalf Of ryan k
> Sent: Wednesday, January 23, 2008 3:24 PM
> To: python-list@python.org
> Subject: Re: Stripping whitespace
> 
> On Jan 23, 3:02 pm, John Machin <[EMAIL PROTECTED]> wrote:
> > On Jan 24, 6:57 am, ryan k <[EMAIL PROTECTED]> wrote:
> >
> > > So yea i will just have to count dashes.
> >
> > Read my lips: *you* counting dashes is dumb. Writing your code so
> that
> > *code* is counting dashes each time it opens the file is smart.
> 
> Okay it's almost working ...
> 

Why is it that so many Python people are regex adverse?  Use the dashed
line as a regex.  Convert the dashes to dots.  Wrap the dots in
parentheses.  Convert the whitespace chars to '\s'.  Presto!  Simpler,
cleaner code.

import re

state = 0
header_line = ''
pattern = ''
f = open('a.txt', 'r')
for line in f:
        if line[-1:] == '\n':
                line = line[:-1]

        if state == 0:
                header_line = line
                state += 1
        elif state == 1:
                pattern = re.sub(r'-', r'.', line)
                pattern = re.sub(r'\s', r'\\s', pattern)
                pattern = re.sub(r'([.]+)', r'(\1)', pattern)
                print pattern
                state += 1

                headers = re.match(pattern, header_line)
                if headers:
                        print headers.groups()
        else:
                state = 2
                m = re.match(pattern, line)
                if m:
                        print m.groups()


f.close()



*****

The information transmitted is intended only for the person or entity to which 
it is addressed and may contain confidential, proprietary, and/or privileged 
material. Any review, retransmission, dissemination or other use of, or taking 
of any action in reliance upon this information by persons or entities other 
than the intended recipient is prohibited. If you received this in error, 
please contact the sender and delete the material from all computers. GA625


-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to