[Tutor] lstrip removes '/' unexpectedly

Eric Brunson brunson at brunson.com
Mon Dec 3 14:53:41 CET 2007


Ricardo Aráoz wrote:
> Danny Yoo wrote:
>   
>>> Hello:
>>> I'm seeing some strange behavior with lstrip operating
>>> on string representations of *nix-style file paths
>>> Example:
>>>       
>>>>>> s = '/home/test/'
>>>>>> s1 = s.lstrip('/home')
>>>>>> s1
>>>>>>             
>>> 'test/'   ## '/test/' was expected! '/' was unexpectedly removed
>>> Any comments or corrective measures are welcome
>>>       
>>
>> Hi Tim,
>>
>> Here's another example to help you see what's going on:
>>
>> ##########################
>>     
>>>>> s = '/home/test/'
>>>>> s1 = s.lstrip('/ehmo')
>>>>> s1
>>>>>           
>> 'test/'
>> ##########################
>>
>> Take a closer look at the documentation of lstrip, and you should see that 
>> what it takes in isn't treated as a prefix: rather, it'll be treated as a 
>> set of characters.
>>
>>     
>
> But then the real bug is why does it not strip the trailing '/' in
> 'test/' or the 'e' that is in your set?
>
>   
Because it's lstrip(), the "L" meaning "left".  Not strip() or rstrip().




More information about the Tutor mailing list