> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:python-
> [EMAIL PROTECTED] On Behalf Of ryan k
> Sent: Wednesday, January 23, 2008 3:24 PM
> To: [email protected]
> 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