Como obter extensão de arquivo em Python

Saiba como usar os.path e pathlib módulos para obter extensão de arquivo em Python. Este tutorial explica os conceitos, a sintaxe e exemplos de como trabalhar com caminhos de arquivo.


Obter a extensão do arquivo é o processo de extrair o sufixo ou a parte do nome do arquivo que vem após o último ponto (.) do nome. As extensões de arquivo são comumente usadas para identificar o tipo de arquivo, como .txt para arquivos de texto, .exe para arquivos executáveis ​​e .jpg para imagens JPEG.

Antes de entrarmos em como obter extensão de arquivo em Python. Primeiro, veremos o que é extensão de arquivo e como o arquivo é criado. Nos diferentes sistemas operacionais existem diferentes formas de criar um arquivo, e após criar um arquivo, temos que definir que tipo de arquivo é, se é um arquivo doc, arquivo Python, arquivo HTML ou arquivo xlsx. Portanto, para definir a extensão desse arquivo específico, temos que salvá-lo com seu nome específico. Suponhamos que precisamos criar um arquivo Python, demos a esse arquivo o nome abc, mas ao renomear o arquivo com abc, nosso sistema operacional não sabe o que é abc, para especificá-lo como um arquivo Python, adicionamos um sufixo após o nome do arquivo que é py para Python. Portanto, nosso nome de arquivo será abc.py, então agora nosso sistema operacional irá confirmar que é um arquivo Python.

Agora, precisamos aprender como extrair a extensão de arquivo py do caminho do arquivo. Estaremos usando Python para extrair a extensão do arquivo. Existem vários métodos:

  • Módulo Os.path
  • módulo pathlib

Pré-requisitos

Os pré-requisitos necessários para obter a extensão do arquivo em Python são:

  • Devemos exigir o arquivo e o caminho desse arquivo
  • Conhecimento básico de Python (já que este artigo é totalmente baseado em Python)
  • O que é um módulo de SO.
  • O que é o módulo pathlib.

Diferentes maneiras de obter extensão de arquivo em Python

Módulo SO

Este módulo de sistema operacional possui amplas funções para interagir com o sistema operacional. Este módulo pode ser usado para criar, modificar, excluir e buscar facilmente o conteúdo de arquivos ou diretórios.

No módulo OS, há uma classe de caminho que possui funções utilitárias úteis pré-fabricadas para manipular caminhos de arquivos do SO. A classe de caminho do módulo do sistema operacional inclui abrir, salvar e atualizar e obter as informações dos caminhos dos arquivos.

Em sistema operacional. path, existe uma função splitext() que permite separar a raiz e a extensão de um caminho de arquivo especificado. Uma tupla composta pela string raiz e pela string de extensão é a saída da função. Se você deseja obter uma extensão de arquivo em Python, a função splitext() é o caminho a percorrer.

Por exemplo ->

nome do caminhoraizextensão
usuário/Desktop/pasta/abc.txtusuário/Desktop/pasta/abc.TXT
usuário/área de trabalho/pastausuário/Desktop/pasta/abc 
usuário/Desktop/pat.pyusuário/Desktop/pat.py

Sintaxe:

os.path.splitext(path)

Parâmetros:

caminho:

É um objeto que representa o caminho do arquivo. Pode ser um objeto string ou bytes que representa um caminho.

Tipo de retorno:

Este método retornará uma tupla que contém 2 coisas, uma é a raiz do caminho fornecido e a extensão do arquivo do caminho fornecido.

Código:

# get file extension in Python using OS module
import os

path = "home/User/Desktop/abc.py"
path2 = "home/User/Desktop"

root,extension = os.path.splitext(path)
root2,extension2 = os.path.splitext(path2)

print(f"The root of the given path: {root}")
print(f"The extension of the given path: {extension}")

print(f"The root of the given path: {root2}")
print(f"The extension of the given path: {extension2}")

Saída:

The root of the given path: home/User/Desktop/abc
The extension of the given path: .py
The root of the given path: home/User/Desktop
The extension of the given path: 

Explicação:

No código acima, usamos o módulo os para encontrar a extensão do arquivo de um determinado caminho de arquivo. Primeiro, obtemos o caminho do arquivo, e depois a função splitext() disponível no módulo os, que retorna uma tupla que contém 2 valores o caminho raiz e a extensão do arquivo do caminho do arquivo. No path2, ele não contém nenhum arquivo, então a função splitext() retornará uma tupla que contém apenas a raiz do caminho do arquivo e, em caso de extensão, retornará uma string vazia.

Módulo Pathlib

O módulo Pathlib em python vem com o módulo utilitário padrão. Ele contém classes que representam caminhos de sistemas de arquivos para diferentes sistemas operacionais.

Usando uma string de caminho como parâmetro, pathlib.Path() cria um novo objeto Path.

Sintaxe:

pathlib.Path(path)

Parâmetros:

caminho:

É um objeto que representa o caminho do arquivo. Pode ser uma string ou um objeto byte que representa um caminho.

Tipo de retorno:

Ele criará a string no caminho e atribuirá alguns métodos ao caminho, como - pai - sufixo - nome

  • parent: retornará onde inicialmente o arquivo está armazenado
  • sufixo: nos dirá qual é a extensão do arquivo
  • nome: retornará o nome do nome especificado no caminho.

Código:

# Get file extension in Python using the suffix property
import pathlib

path = "home/User/Desktop/abc.py"
path2 = "home/User/Desktop"

filepath = pathlib.Path(path)
filepath2 = pathlib.Path(path2)

print(f"The root of the given path: {filepath.parent}")
print(f"The name of the file: {filepath.name}")
print(f"The extension of the given path: {filepath.suffix}")

print(f"The root of the given path: {filepath2.parent}")
print(f"The name of the file: {filepath2.name}")
print(f"The extension of the given path: {filepath2.suffix}")

Saída:

The root of the given path: home/User/Desktop
The name of the file: abc.py
The extension of the given path: .py
The root of the given path: home/User
The name of the file: Desktop
The extension of the given path:

Explicação:

No código acima, ele usa o módulo pathlib para obter a extensão do arquivo de um determinado caminho de arquivo. Primeiro, este módulo cria o caminho do arquivo de string fornecido no caminho pathlib e, em seguida, o caminho pathlib possui 3 métodos que incluem pai, nome e sufixo. O pai inclui o caminho onde o arquivo está armazenado. O nome inclui o nome do arquivo com sua extensão e o último sufixo inclui a extensão do arquivo no caminho do arquivo.

Extraindo apenas o sufixo de extensão

Até agora vimos que o caminho tem alguns ponteiros em torno dos quais podemos extrair a extensão do arquivo, mas e se não quisermos esse ponteiro como ., vimos acima que nossa extensão de arquivo gira principalmente em torno de . operador, e também vimos nos códigos acima que extraímos nossa extensão de arquivo junto com . operador ponto.

Mas, se removermos o . e extraia apenas o sufixo de extensão como py, txt, Docx etc. Usaremos o módulo pathlib para isso.

Código:

# Get file extension in Python
import pathlib
import os

path = "home/User/Desktop/abc.py"
path2 = "home/User/Desktop"

filepath = pathlib.Path(path)
filepath2 = pathlib.Path(path2)
root,extension = os.path.splitext(path)
root2,extension2 = os.path.splitext(path2)

print(f"The root of the given path: {filepath.parent}")
print(f"The name of the file: {filepath.name}")
print(f"The extension of the given path: {filepath.suffix[1:]}")

print(f"The root of the given path: {filepath2.parent}")
print(f"The name of the file: {filepath2.name}")
print(f"The extension of the given path: {filepath2.suffix[1:]}")


print(f"The root of the given path: {root}")
print(f"The extension of the given path: {extension[1:]}")

print(f"The root of the given path: {root2}")
print(f"The extension of the given path: {extension2[1:]}")


Saída:

The root of the given path: home/User/Desktop
The name of the file: abc.py
The extension of the given path: py
The root of the given path: home/User
The name of the file: Desktop
The extension of the given path: 
The root of the given path: home/User/Desktop/abc
The extension of the given path: py
The root of the given path: home/User/Desktop
The extension of the given path:

Explicação:

Neste trecho de código, usaremos os módulos pathlib e os para obter a extensão do arquivo, mas desta vez não usaremos diretamente os métodos mencionados. Desta vez vamos usar o método de sufixo para extrair a extensão do arquivo. No caso de pathlib, primeiro extraímos o caminho do arquivo da função pathlib. No retorno obtemos o caminho do arquivo, para esse caminho receberemos um método suffix, quando chamarmos filepath.suffix ele retornará nossa extensão do caminho do arquivo. Da mesma forma, no caso do módulo os, estamos simplesmente usando o fatiamento para nossos dados de extensão.

#python 

Como obter extensão de arquivo em Python
1.60 GEEK