How to replace (or strip) an extension from a filename in Python?
Is there a built-in function in Python that would replace (or remove, whatever) the extension of a filename (if it has one) ? Example: print replace_extension('/home/user/somefile.txt', '.jpg') In my example: /home/user/somefile.txt would become /home/user/somefile.jpg I don't know if it matters, but I need this for a SCons module I'm writing. (So perhaps there is some SCons specific function I can use ?) I'd like something clean . Doing a simple string replacement of all occurrences of .txt within the string is obviously not clean. (This would fail if my filename is somefile.txt.txt.txt )