newbie question: if var1 == var2:

Jason Scheirer jason.scheirer at gmail.com
Thu Dec 11 18:57:17 EST 2008


On Dec 11, 3:49 pm, John Machin <sjmac... at lexicon.net> wrote:
> On Dec 12, 10:31 am, "Rhodri James" <rho... at wildebst.demon.co.uk>
> wrote:
>
>
>
> > On Thu, 11 Dec 2008 19:49:23 -0000, Steve Holden <st... at holdenweb.com>  
> > wrote:
>
> > > Kirk Strauser wrote:
> > >> At 2008-11-29T04:02:11Z, Mel <mwil... at 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()



More information about the Python-list mailing list