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:
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}")
Output
Root: 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
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])
Output
root 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.
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}")
Output
Root: example_file Extension:
Explanation: Since "example_file" doesn't have an extension, ext will be an empty string.