Built with Tutify.io

    AIStudyLabs

    Extract Extension from filename in Python

    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.

    In this article, we will discuss the syntax and functionality of each method, and provide code examples to demonstrate how to implement each method.

    <a id="h-1-quick-examples-extract-extension-from-filename-in-python"></a>

    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)
    

    <a id="h-2-split-extract-extension-from-filename-in-python"></a>

    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]
    

    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"
    

    <a id="h-3-os-path-splitext-extract-extension-from-filename"></a>

    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"
    

    <a id="h-4-pathlib-path-extension-of-a-file-from-file-path"></a>

    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
    

    <a id="h-5-summary-and-conclusion"></a>

    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!

    <a id="h-related-articles"></a>

    Related Articles