Too much code - slicing
andrei.avk at gmail.com
Thu Sep 16 22:20:33 CEST 2010
On 09/16/2010 03:47 PM, Benjamin Kaplan wrote:
> On Thu, Sep 16, 2010 at 3:35 PM, DataSmash<rdh at new.rr.com> wrote:
>> I need to create a simple utility to remove characters from either the
>> right or left side of directories.
>> This works, but there has to be a better way. I tried to use a
>> variable inside the brackets but I can't get
>> that to work. Can anyone think of a way to do this with less code?
>> import os
>> dirs = filter(os.path.isdir, os.listdir(''))
>> for dir in dirs:
>> # Left side
> <snip long if chain>
> The int() type will convert a string to an int for you. So all you
> need to do is check the side and slice accordingly.
> if side=='l':
> code = dir[int(num):]
> else :
> code = dir[:-1*int(num)]
I also like this construct that works, I think, since 2.6:
code = dir[int(num):] if side == 'l' else dir[:-1*int(num)]
More information about the Python-list