Python os.path.splitext() method
Last Updated :
11 Jul, 2025
os.path.splitext() method is used to split the pathname into a pair (root, ext), where root is the part of the path before the file extension and ext is the file extension itself. It is particularly useful when you need to extract the file extension or handle files dynamically based on their type. os.path module is submodule of OS module in Python used for common pathname manipulation.
For example consider the following path names:
Path Name | Root | Extension |
---|
/home/User/Desktop/file.txt | /home/User/Desktop/file | .txt |
---|
/home/User/Desktop | /home/User/Desktop | (empty) |
---|
file.py | file | .py |
---|
.txt | (empty) | .txt |
---|
Example:
Let's see a basic example of how os.path.splitext() works:
Python
import os
file_path = "example_file.txt"
# Splitting the file path
root, ext = os.path.splitext(file_path)
print(f"Root: {root}")
print(f"Extension: {ext}")
OutputRoot: example_file
Extension: .txt
Explanation:
- The file_path is "example_file.txt".
- The function splits it into root ("example_file") and ext (".txt").
Syntax
os.path.splitext(path)
Parameters
- path: The complete file path, which can be relative or absolute.
Return Value
The method returns a tuple with two elements:
- root: The part of the path before the extension (file name without the extension).
- ext: The file extension, including the dot (e.g., .txt, .jpg, .py).
Example of os.path.splitext() method
1. Using os.path.splitext() to Split Path into Root and Extension
Python
import os
# path
path = '/home/User/Desktop/file.txt'
# Split the path in
# root and ext pair
root_ext = os.path.splitext(path)
# print root and ext
# of the specified path
print("root part of '% s':" % path, root_ext[0])
print("ext part of '% s':" % path, root_ext[1], "\n")
# path
path = '/home/User/Desktop/'
# Split the path in
# root and ext pair
root_ext = os.path.splitext(path)
# print root and ext
# of the specified path
print("root part of '% s':" % path, root_ext[0])
print("ext part of '% s':" % path, root_ext[1])
Outputroot part of '/home/User/Desktop/file.txt': /home/User/Desktop/file
ext part of '/home/User/Desktop/file.txt': .txt
root part of '/home/User/Desktop/': /home/User/Desktop/
ext part of '/home/User/Desktop/':
Explanation:
- The example demonstrates how to use os.path.splitext() to split a file path into its root and extension parts.
- The first part of the code shows a path with a file extension, and the second part shows a path without a file extension (just a directory).
2. Path Without an Extension
If the file doesn't have an extension, the function will return an empty string for the extension.
Python
import os
file_path = "example_file"
# Splitting the file path
root, ext = os.path.splitext(file_path)
print(f"Root: {root}")
print(f"Extension: {ext}")
OutputRoot: example_file
Extension:
Explanation: Since "example_file" doesn't have an extension, ext will be an empty string.