How to get the filename without the extension from a path in Python?

Joan Venge picture Joan Venge · Mar 24, 2009 · Viewed 1.3M times · Source

How to get the filename without the extension from a path in Python?

For instance, if I had "/path/to/some/file.txt", I would want "file".

Answer

Geo picture Geo · Mar 24, 2009

Getting the name of the file without the extension:

import os
print(os.path.splitext("/path/to/some/file.txt")[0])

Prints:

/path/to/some/file

Documentation for os.path.splitext.

Important Note: If the filename has multiple dots, only the extension after the last one is removed. For example:

import os
print(os.path.splitext("/path/to/some/file.txt.zip.asc")[0])

Prints:

/path/to/some/file.txt.zip

See other answers below if you need to handle that case.