CSV with comments
Duncan Booth
duncan.booth at invalid.invalid
Wed Jul 19 09:40:03 EDT 2006
Sion Arrowsmith wrote:
> Daniel Dittmar <daniel.dittmar at sap.corp> wrote:
>> if line [:1] == '#':
>
> What's wrong with line[0] == '#' ? (For one thing, it's fractionally
> faster than [:1].)
>
line[0] assumes that the line isn't blank. If the input iterator is a file
then that will hold true, but if you were ever to reuse CommentStripper on
a list of strings which didn't have a trailing newline it would break at
the first blank string.
Personally I would use:
if line.startswith('#'):
which takes about three times as long to execute but I think reads more
clearly.
timeit.py -s "line=' hello world'" "line[:1]=='#'"
1000000 loops, best of 3: 0.236 usec per loop
timeit.py -s "line=' hello world'" "line[0]=='#'"
1000000 loops, best of 3: 0.218 usec per loop
timeit.py -s "line=' hello world'" "line.startswith('#')"
1000000 loops, best of 3: 0.639 usec per loop
More information about the Python-list
mailing list