Alan Isaac wrote:
Use index instead?

yup, that'll work. enclosed is another test file, with that and one using string.split(comments) instead.

-Chris




--
Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

[EMAIL PROTECTED]
#!/usr/bin/env python

"""
test of loadtext issue
"""

comments = "#"

SampleLines = [" 1 2 3 4 5\n",
               " 1 2 3 4 5",
               " 1 2 3 4 5#",
               "  # 1 2 3 4 5",
               ]


#SampleLines = ["a line with a comment # this is the comment"
#               "# a comment-only line",
#               " a line with no comment, and no newline",
#               " a line with a trailing comment character, and no newline#",
#               ]

print "\nold way -- this fails with no comment of newline"
for line in SampleLines: 
    print "input line: ", repr(line)
    line = line[:line.find(comments)].strip()
    print "output line:", repr(line)

print "\nwith regular expression:"
import re
pattern = re.compile(r"""
    ^\s* # leading white space
    (.*) # Data
    %s?  # Zero or one comment character
    (.*) # Comments
    \s*$ # Trailing white space
    """%comments, re.VERBOSE)

match = pattern.search(line)
line, comment = match.groups()
for line in SampleLines:
    print "input line: ", repr(line)
    match = pattern.search(line)
    line, comment = match.groups()
    print "output line:", repr(line)

print "\nsimply pad the line with a space:"
for line in SampleLines: 
    print "input line: ", repr(line)
    line += " "
    line = line[:(line).find(comments)].strip()
    print "output line:", repr(line)

print "\ntest for comment not found:"
for line in SampleLines:
    print "input line: ", repr(line)
    i = line.find(comments)
    if i == -1:
        line = line.strip() 
    else:
        line = line[:i].strip()
    print "output line:", repr(line)

print "\nuse string.split()"
for line in SampleLines: 
    print "input line: ", repr(line)
    line = line.strip().split(comments)[0]
    print "output line:", repr(line)

print "\nuse string.index"
print "\nold way -- this fails with no comment of newline"
for line in SampleLines: 
    print "input line: ", repr(line)
    try:
        line = line[:line.index(comments)].strip()
    except ValueError:
        line = line.strip()
    print "output line:", repr(line)

_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to