x=os.path.splitext(a)[0]+'.bak' Ah, jolly good, looks a bit simpler. Thanks!
Regards, Liam Clarke On Thu, 16 Dec 2004 09:44:03 +0100, Wolfram Kraus <[EMAIL PROTECTED]> wrote: > Liam Clarke wrote: > > Hi all, > > > > I'm writing some code, and I want to take a given path + filename, and > > change the file extension to *.bak. > > > > In doing so, (entirely internal this function), I am assuming - > > > > That the file will always have an extension > > Thathe extension will vary > > But, it will follow the general DOS format of name.ext > > > > So, I came up with this - > > > > a="./tc/arc/gab.pct" > > > > x=a.replace(a[a.rfind('.'):len(a)],'.bak') > > > > x="./tc/arc/gab.bak" > > > > So, it works, but it feels a bit, well, hacky to me. Not nearly hacky > > as using an regex though ; ) > > > > I thought about > > > > a="./tc/arc/gab.pct" > > > > aList=a.split('.') > > aList[-1]='bak' > > a=".".join(aList) > > > > but I'm wondering if there's a simpler way, as there usually seems to > > be, and it's always so obvious once I'm shown it, like 6 down - Six on > > vehicle live in the manse (VI + car). Obvious once you know. > > > > Regards, > > > > Liam Clarke > > Hey Liam! > > The os.path module is your friend, especially split and splitext: > http://docs.python.org/lib/module-os.path.html > > HTH, > Wolfram > > _______________________________________________ > Tutor maillist - [EMAIL PROTECTED] > http://mail.python.org/mailman/listinfo/tutor > -- 'There is only one basic human right, and that is to do as you damn well please. And with it comes the only basic human duty, to take the consequences. _______________________________________________ Tutor maillist - [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/tutor