newbie question: if var1 == var2:

MRAB google at mrabarnett.plus.com
Fri Dec 12 01:39:24 CET 2008


Jason Scheirer wrote:
> 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()
> 
Why not just:

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



More information about the Python-list mailing list