Tamanho de fonte
Alto contraste
Altura de linha

Extração de Extensões de Nome de Arquivo em Python

Avatar de Ana Maria Gomes Ana Maria Gomes
3 minutos de leitura 5 meses atrás

Ao trabalhar com arquivos em Python, é frequentemente necessário manipular ou recuperar informações sobre caminhos de arquivos e extensões. Uma tarefa comum é extrair a extensão de um nome de arquivo. Mas como você pode fazer isso de maneira eficiente e precisa? O Python oferece funções integradas para ajudá-lo com essa tarefa.

Usando os.path.splitext

O módulo os.path em Python é um módulo utilitário padrão que fornece funções para interagir com o sistema de arquivos. Uma das funções fornecidas por este módulo é os.path.splitext, que pode ser usada para dividir o caminho do arquivo em um par (root, ext) de tal forma que root + ext == path.

Aqui está um exemplo simples de como usar os.path.splitext:

import os

# Exemplo de caminho de arquivo
file_path = '/caminho/para/algumarquivo.ext'

# Dividir o caminho do arquivo em nome e extensão
filename, file_extension = os.path.splitext(file_path)

print(filename)  # Saída: '/caminho/para/algumarquivo'
print(file_extension)  # Saída: '.ext'

Essa função é particularmente inteligente ao lidar com casos especiais. Por exemplo, se você tem um caminho de arquivo como /a/b.c/d, ela identificará corretamente que não há extensão de arquivo, em vez de retornar incorretamente .c/d. Da mesma forma, para arquivos ocultos como .bashrc, ela reconhecerá que não há extensão:

print(os.path.splitext('/a/b.c/d'))  # Saída: ('/a/b.c/d', '')
print(os.path.splitext('.bashrc'))   # Saída: ('.bashrc', '')

Adotando pathlib no Python 3.4+

A partir do Python 3.4, o módulo pathlib foi introduzido, oferecendo uma abordagem orientada a objetos para lidar com caminhos de sistemas de arquivos. pathlib é uma adição fantástica ao Python que simplifica muitas tarefas relacionadas a caminhos de arquivos.

Para extrair uma extensão de arquivo usando pathlib, você pode usar o atributo .suffix de um objeto Path:

from pathlib import Path

# Extensão única
print(Path('seuCaminho.exemplo').suffix)  # Saída: '.exemplo'

# Múltiplas extensões
print(Path("ola/foo.bar.tar.gz").suffixes)  # Saída: ['.bar', '.tar', '.gz']

# Obtendo o nome base (nome do arquivo sem extensão)
print(Path('/foo/bar.txt').stem)  # Saída: 'bar'

O atributo suffix retorna a última extensão do arquivo, e suffixes retorna uma lista de todas as extensões do arquivo. O atributo stem fornece o nome do arquivo sem a extensão.

Recuperação Rápida de Extensão de Arquivo

Se você está procurando uma maneira rápida de obter a extensão do arquivo, você pode usar os.path.splitext e acessar diretamente o segundo elemento da tupla que ele retorna, que é a extensão:

import os.path

# Exemplo de caminho de arquivo
file_path = 'exemplo.txt'

# Obter a extensão do arquivo
extension = os.path.splitext(file_path)[1]

print(extension)  # Saída: '.txt'

Em resumo, o Python oferece dois métodos robustos para extrair extensões de arquivos: os.path.splitext para manipulação tradicional de caminhos de arquivos e pathlib para uma abordagem mais moderna e orientada a objetos. Ambos os métodos lidam bem com casos especiais e são fáceis de usar. Seja lidando com caminhos de arquivos simples ou complexos, essas ferramentas ajudarão você a recuperar a extensão do arquivo de forma eficiente.

Imagem de um notebook

Cursos de programação gratuitos com certificado

Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:

  • Conteúdos gratuitos
  • Projetos práticos
  • Certificados
  • +20 mil alunos e comunidade exclusiva
  • Materiais didáticos e download de código
Inicie agora

Comentários

Comentar
Faça parte da discussão Crie sua conta gratuita e compartilhe
sua opinião nos comentários
Entre para a Asimov