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