>>> import os >>> filename, file_extension = os.path.splitext('/path/to/somefile.ext') >>> filename '/path/to/somefile' >>> file_extension '.ext'
Unlike most manual string-splitting attempts,
os.path.splitext will correctly treat
/a/b.c/d as having no extension instead of having extension
.c/d, and it will treat
.bashrc as having no extension instead of having extension
>>> os.path.splitext('/a/b.c/d') ('/a/b.c/d', '') >>> os.path.splitext('.bashrc') ('.bashrc', '')