You are currently viewing Extract Extension from filename in Python

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.

Advertisements

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!