[Tutor] lstrip removes '/' unexpectedly
Ricardo Aráoz
ricaraoz at gmail.com
Tue Dec 4 14:22:24 CET 2007
Eric Brunson wrote:
> 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().
>
Silly me, should have checked before opening my big mouth. :-)
More information about the Tutor
mailing list