How to extract an extension from a filename in Python? To extract the file extension from a filename, you can use the split()
method, the os.path.splitext()
method, and the pathlib.Path()
method.
In this article, we will discuss the syntax and functionality of each method, and provide code examples to demonstrate how to implement each method.
1. Quick Examples – Extract Extension From Filename in Python
These are quick examples to give you a high-level idea of how to extract extensions from filenames. We will see each method in detail in the upcoming section.
# Quick Examples of extracting extension from filename
# Using the split() method
filename = "example_file.txt"
extension = filename.split(".")[-1]
print(extension)
# Using the os.path.splitext() method
import os
filename = "example_file.txt"
_, extension = os.path.splitext(filename)
print(extension)
# Using the pathlib.Path() method
from pathlib import Path
filename = "example_file.txt"
extension = Path(filename).suffix
print(extension)
2. split() – Extract Extension From Filename in Python
To extract the file extension from a filename using the split()
method in Python, we can split the filename into a list of substrings using the dot (.
) character as the delimiter and then select the last item in the list, which represents the file extension.
See the Syntax of split()
method to extract the file extension:
# Syntax
extension = filename.split(".")[-1]
filename
is the string containing the filename.
is the delimiter to split the filename into substrings[-1]
selects the last item in the list, which represents the file extension
Below is an example of using the split()
method for getting the file extension of a file:
# Get file extension
filename = "example_file.txt"
extension = filename.split(".")[-1]
print(extension)
# Output: "txt"
3. os.path.splitext() – Extract Extension From Filename
We can pass the filename to os.path.splitext()
method and select the first item in the resulting tuple to extract the file extension from a filename. It returns a tuple containing the file extension and the filename with the extension removed.
Below is an example to get the file extension:
# Using os.path.splitext()
import os
filename = "example_file.py"
extension = os.path.splitext(filename)[1]
print(extension)
# Output: ".py"
4. pathlib.Path() – Extension of a File from File Path
The pathlib
module was introduced in Python 3.4 and provides an object-oriented approach to handling file paths. It provides a Path
class that you can use to represent paths and perform operations on them. The Path
class has a suffix
attribute which you can use to extract the extension from a file path.
# Using pathlib.Path()
from pathlib import Path
file_path = Path("path/to/file.txt")
file_extension = file_path.suffix
print(file_extension)
# Output:
# .txt
5. Summary and Conclusion
You have learned about several methods that extract file extensions from filenames in Python. We started with the simple split()
method, which can be used when the filename follows a standard format. Next, we looked at the os.path.splitext()
method, which is a more robust solution that can handle more complex filenames.
There are also other ways that you can use, however, these will be enough to handle your need. You can use regular expressions for complex scenarios. Still, if you have any questions, please leave them in the comment section.
Happy Coding!
Related Articles
- How to find if directory exists in Python
- Get Filename Without Extension in Python
- How to Move a File in Python?
- File Handling in Python
- How to Print to stderr in Python?
- Python Read a File line-by-line into a List?
- Import Files from Different Folder in Python
- Python Find Current Directory and File Directory
- Delete File or Folder in Python?
- Python List all Files in a Directory
- Get First and Last Elements of Deque in Python
- Get substring of a string in Python
- Python Class attribute Properties
- Static or Class Variables in Python?