On Apr 16, 1:43 pm, [EMAIL PROTECTED] wrote: > so I’m trying to create a class that inherits from str, but I want to > run some code on the value on object init. this is what I have: > > class Path(str): > def __init__( self, path ): > clean = str(path).replace('\\','/') > while clean.find('//') != -1: > clean = clean.replace('//','/') > > print 'cleaned on init:\t',clean > self = clean > > so clearly the clean variable is what I want value of the string to > be, but that’s decidedly not the case. so running this: > > a=Path('path///with\\nasty/////crap_in_it/') > print a > > gives me this: > > cleaned on init: path/with/nasty/crap_in_it/ > path///with\nasty/////crap_in_it/ > > what gives? what am I doing wrong, and can I do what I’m trying to > here? > thanks.
Regardless of the problem you have initializing the class, why do you need to inherit from str? Actually, why do you even need a class? Unless you're dealing something more complex that you didn't mention here, that should be just a simple function. -- http://mail.python.org/mailman/listinfo/python-list