John Machin wrote:
On Dec 12, 11:39 am, MRAB <goo...@mrabarnett.plus.com> wrote:
Jason Scheirer wrote:
On Dec 11, 3:49 pm, John Machin <sjmac...@lexicon.net> wrote:
On Dec 12, 10:31 am, "Rhodri James" <rho...@wildebst.demon.co.uk>
wrote:
On Thu, 11 Dec 2008 19:49:23 -0000, Steve Holden <st...@holdenweb.com> wrote:
Kirk Strauser wrote:
At 2008-11-29T04:02:11Z, Mel <mwil...@the-wire.com> writes:
You could try
for item in fname:
    item = item.strip()
This is one case where I really miss Perl's "chomp" function. It removes a trailing newline and nothing else, so you don't have to worry about losing
leading or trailing spaces if those are important to you.
... and it's so hard to write
     item = item[:-1]
Tsk.  That would be "chop".  "chomp" would be
     if item[-1] == '\n':
         item = item[:-1]
Better:
if item and item[-1] == '\n':
    return item[:-1]
return item
Best:
return item \
       if not (item and item.endswith('\n')) \
       else item[:-1]
Though really you should be using item.rstrip()
Why not just:

     item[:-1] if item.endswith('\n') else item

Some possible reasons:
* because you might be supporting old versions of Python (my offering
runs on 1.5)
* because the "<true_value> if <condition> else <false_value>" syntax
gives you the screaming dry Edgar Britts
* because you'd prefer not to have the overhead of a method lookup and
method call

OK:

    if item[-1:] == '\n':
        return item[:-1]
    return item
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to