How to get file extension in Python?

ItsMyCode |

In Python, we can extract the file extension using two approaches. Let’s take a look at each of these with examples.

Python get file extension using os module splitext() function

The os module has extensive functions for interacting with the operating system. The OS module can be used to easily create, modify, delete, and fetch file contents or directories.

Syntax: os.path.splitext(path)

The functionsplitext() will take the path as an argument and return the tuple with filename and extension.

<span>import</span> <span>os</span>
<span># returns tuple wit filename and extension </span><span>file_details</span> <span>=</span> <span>os</span><span>.</span><span>path</span><span>.</span><span>splitext</span><span>(</span><span>'/home/usr/sample.txt'</span><span>)</span>
<span>print</span><span>(</span><span>"File Details "</span><span>,</span><span>file_details</span><span>)</span>
<span># extract the file name and extension </span><span>file_name</span> <span>=</span> <span>file_details</span><span>[</span><span>0</span><span>]</span>
<span>file_extension</span> <span>=</span> <span>file_details</span><span>[</span><span>1</span><span>]</span>
<span>print</span><span>(</span><span>"File Name: "</span><span>,</span> <span>file_name</span><span>)</span>
<span>print</span><span>(</span><span>"File Extension: "</span><span>,</span> <span>file_extension</span><span>)</span>
<span>import</span> <span>os</span>

<span># returns tuple wit filename and extension </span><span>file_details</span> <span>=</span> <span>os</span><span>.</span><span>path</span><span>.</span><span>splitext</span><span>(</span><span>'/home/usr/sample.txt'</span><span>)</span>
<span>print</span><span>(</span><span>"File Details "</span><span>,</span><span>file_details</span><span>)</span>

<span># extract the file name and extension </span><span>file_name</span> <span>=</span> <span>file_details</span><span>[</span><span>0</span><span>]</span>
<span>file_extension</span> <span>=</span> <span>file_details</span><span>[</span><span>1</span><span>]</span>

<span>print</span><span>(</span><span>"File Name: "</span><span>,</span> <span>file_name</span><span>)</span>
<span>print</span><span>(</span><span>"File Extension: "</span><span>,</span> <span>file_extension</span><span>)</span>
import os # returns tuple wit filename and extension file_details = os.path.splitext('/home/usr/sample.txt') print("File Details ",file_details) # extract the file name and extension file_name = file_details[0] file_extension = file_details[1] print("File Name: ", file_name) print("File Extension: ", file_extension)

Enter fullscreen mode Exit fullscreen mode

Output

<span>File</span> <span>Details</span> <span>(</span><span>'/home/usr/sample'</span><span>,</span> <span>'.txt'</span><span>)</span>
<span>File</span> <span>Name</span><span>:</span> <span>/</span><span>home</span><span>/</span><span>usr</span><span>/</span><span>sample</span>
<span>File</span> <span>Extension</span><span>:</span> <span>.</span><span>txt</span>
<span>File</span> <span>Details</span> <span>(</span><span>'/home/usr/sample'</span><span>,</span> <span>'.txt'</span><span>)</span>
<span>File</span> <span>Name</span><span>:</span> <span>/</span><span>home</span><span>/</span><span>usr</span><span>/</span><span>sample</span>
<span>File</span> <span>Extension</span><span>:</span> <span>.</span><span>txt</span>
File Details ('/home/usr/sample', '.txt') File Name: /home/usr/sample File Extension: .txt

Enter fullscreen mode Exit fullscreen mode

Python get file extension using pathlib module

pathlib module comes as a standard utility module in Python and offers classes representing filesystem paths with semantics appropriate for different operating systems.

pathlib.path().suffix method can be used to extract the extension of the given file path.

<span>import</span> <span>pathlib</span>
<span># pathlib function which returns the file extension </span><span>file_extension</span> <span>=</span> <span>pathlib</span><span>.</span><span>Path</span><span>(</span><span>'/home/usr/sample.txt'</span><span>).</span><span>suffix</span>
<span>print</span><span>(</span><span>"The given File Extension is : "</span><span>,</span> <span>file_extension</span><span>)</span>
<span>import</span> <span>pathlib</span>

<span># pathlib function which returns the file extension </span><span>file_extension</span> <span>=</span> <span>pathlib</span><span>.</span><span>Path</span><span>(</span><span>'/home/usr/sample.txt'</span><span>).</span><span>suffix</span>
<span>print</span><span>(</span><span>"The given File Extension is : "</span><span>,</span> <span>file_extension</span><span>)</span>
import pathlib # pathlib function which returns the file extension file_extension = pathlib.Path('/home/usr/sample.txt').suffix print("The given File Extension is : ", file_extension)

Enter fullscreen mode Exit fullscreen mode

Output

<span>The</span> <span>given</span> <span>File</span> <span>Extension</span> <span>is</span> <span>:</span> <span>.</span><span>txt</span>
<span>The</span> <span>given</span> <span>File</span> <span>Extension</span> <span>is</span> <span>:</span> <span>.</span><span>txt</span>
The given File Extension is : .txt

Enter fullscreen mode Exit fullscreen mode

What if your extension is like *sample.tar.gz * with multiple dots, and if you use the above methods, you will only get the last part of the extension, not the full extension.

You can use the pathlib module with suffixes property which returns all the extensions as a list. Using that, we can join into a single string, as shown below.

<span>import</span> <span>pathlib</span>
<span># pathlib function which returns the file extension </span><span>file_extension</span> <span>=</span> <span>pathlib</span><span>.</span><span>Path</span><span>(</span><span>'/home/usr/sample.tar.gz'</span><span>).</span><span>suffixes</span>
<span>print</span><span>(</span><span>"File extension "</span><span>,</span> <span>file_extension</span><span>)</span>
<span>print</span><span>(</span><span>"The given File Extension is : "</span><span>,</span> <span>''</span><span>.</span><span>join</span><span>(</span><span>file_extension</span><span>))</span>
<span>import</span> <span>pathlib</span>

<span># pathlib function which returns the file extension </span><span>file_extension</span> <span>=</span> <span>pathlib</span><span>.</span><span>Path</span><span>(</span><span>'/home/usr/sample.tar.gz'</span><span>).</span><span>suffixes</span>
<span>print</span><span>(</span><span>"File extension "</span><span>,</span> <span>file_extension</span><span>)</span>
<span>print</span><span>(</span><span>"The given File Extension is : "</span><span>,</span> <span>''</span><span>.</span><span>join</span><span>(</span><span>file_extension</span><span>))</span>
import pathlib # pathlib function which returns the file extension file_extension = pathlib.Path('/home/usr/sample.tar.gz').suffixes print("File extension ", file_extension) print("The given File Extension is : ", ''.join(file_extension))

Enter fullscreen mode Exit fullscreen mode

Output

<span>File</span> <span>extension</span> <span>[</span><span>'.tar'</span><span>,</span> <span>'.gz'</span><span>]</span>
<span>The</span> <span>given</span> <span>File</span> <span>Extension</span> <span>is</span> <span>:</span> <span>.</span><span>tar</span><span>.</span><span>gz</span>
<span>File</span> <span>extension</span> <span>[</span><span>'.tar'</span><span>,</span> <span>'.gz'</span><span>]</span>
<span>The</span> <span>given</span> <span>File</span> <span>Extension</span> <span>is</span> <span>:</span> <span>.</span><span>tar</span><span>.</span><span>gz</span>
File extension ['.tar', '.gz'] The given File Extension is : .tar.gz

Enter fullscreen mode Exit fullscreen mode

The post How to get file extension in Python? appeared first on ItsMyCode.

原文链接:How to get file extension in Python?

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
I only smile very joy, sorrow will not be see.
我只有笑的很欢,忧伤才不会被看穿
评论 抢沙发

请登录后发表评论

    暂无评论内容